diff --git a/Solution/PHS.Business/Implementation/FillIn/BaseFormFillIn.cs b/Solution/PHS.Business/Implementation/FillIn/BaseFormFillIn.cs index de5ece7..0f96b97 100644 --- a/Solution/PHS.Business/Implementation/FillIn/BaseFormFillIn.cs +++ b/Solution/PHS.Business/Implementation/FillIn/BaseFormFillIn.cs @@ -58,6 +58,11 @@ public string FillIn(IDictionary SubmitFields, Template Template field.Errors = "{0} is a required field".FormatWith(field.Label); errors.Add(field.Errors); } + + else + { + submissionFields.Add(field.TemplateFieldID.Value, value); + } } else @@ -82,27 +87,60 @@ public string FillIn(IDictionary SubmitFields, Template Template { foreach (var field in templateView.Fields.OrderBy(f => f.TemplateFieldID)) { - var value = field.SubmittedValue(formCollection); + if (field.ConditionTemplateFieldID.HasValue) + { + if (isConditionalFieldRequired(field, submissionFields)) + { + var value = field.SubmittedValue(formCollection); + + //if it's a file, save it to hard drive + if (field.FieldType == Constants.TemplateFieldType.FILEPICKER && !string.IsNullOrEmpty(value)) + { + //var file = Request.Files[field.SubmittedFieldName()]; + //var fileValueObject = value.GetFileValueFromJsonObject(); + + //if (fileValueObject != null) + //{ + // if (UtilityHelper.UseCloudStorage()) + // { + // this.SaveImageToCloud(file, fileValueObject.SaveName); + // } + // else + // { + // file.SaveAs(Path.Combine(HostingEnvironment.MapPath(fileValueObject.SavePath), fileValueObject.SaveName)); + // } + //} + } + HandleTemplateFieldValue(field, value, entryId); + } + } - //if it's a file, save it to hard drive - if (field.FieldType == Constants.TemplateFieldType.FILEPICKER && !string.IsNullOrEmpty(value)) + else { - //var file = Request.Files[field.SubmittedFieldName()]; - //var fileValueObject = value.GetFileValueFromJsonObject(); - - //if (fileValueObject != null) - //{ - // if (UtilityHelper.UseCloudStorage()) - // { - // this.SaveImageToCloud(file, fileValueObject.SaveName); - // } - // else - // { - // file.SaveAs(Path.Combine(HostingEnvironment.MapPath(fileValueObject.SavePath), fileValueObject.SaveName)); - // } - //} + var value = field.SubmittedValue(formCollection); + + //if it's a file, save it to hard drive + if (field.FieldType == Constants.TemplateFieldType.FILEPICKER && !string.IsNullOrEmpty(value)) + { + //var file = Request.Files[field.SubmittedFieldName()]; + //var fileValueObject = value.GetFileValueFromJsonObject(); + + //if (fileValueObject != null) + //{ + // if (UtilityHelper.UseCloudStorage()) + // { + // this.SaveImageToCloud(file, fileValueObject.SaveName); + // } + // else + // { + // file.SaveAs(Path.Combine(HostingEnvironment.MapPath(fileValueObject.SavePath), fileValueObject.SaveName)); + // } + //} + } + HandleTemplateFieldValue(field, value, entryId); } - HandleTemplateFieldValue(field, value, entryId); + + } HandleAdditionalInsert(templateView, Template, formCollection, entryId); diff --git a/Solution/PHS.BusinessTests/Implementation/FormAccessManagerTests.cs b/Solution/PHS.BusinessTests/Implementation/FormAccessManagerTests.cs index 5472f5d..235d206 100644 --- a/Solution/PHS.BusinessTests/Implementation/FormAccessManagerTests.cs +++ b/Solution/PHS.BusinessTests/Implementation/FormAccessManagerTests.cs @@ -575,7 +575,7 @@ public void FillIn_NotSelectedConditionFieldWithRequiredShouldBeSave() FormCollection submissionCollection = new FormCollection(); submissionCollection.Add("SubmitFields[1].RadioButton", "Yes"); submissionCollection.Add("SubmitFields[2].TextBox", "Testing 123"); - submissionCollection.Add("SubmitFields[3].TextBox", null); + submissionCollection.Add("SubmitFields[3].TextBox", "not saved 123"); IDictionary submissionFields = new System.Collections.Generic.Dictionary(); submissionFields.Add("1", "1"); @@ -589,11 +589,10 @@ public void FillIn_NotSelectedConditionFieldWithRequiredShouldBeSave() Assert.AreEqual(0, _unitOfWork.PreRegistrations.GetAll().Count()); - Assert.AreEqual(3, templateViewModel.Entries.Count); + Assert.AreEqual(2, templateViewModel.Entries.Count); Assert.AreEqual("Yes", templateViewModel.Entries[0].Value); Assert.AreEqual("Testing 123", templateViewModel.Entries[1].Value); - Assert.AreEqual(null, templateViewModel.Entries[2].Value); } [TestMethod()] @@ -661,9 +660,9 @@ public void FillIn_NotSelectedConditionFieldWithSubComponentRequiredShouldBeSave FormCollection submissionCollection = new FormCollection(); submissionCollection.Add("SubmitFields[1].RadioButton", "Yes"); submissionCollection.Add("SubmitFields[2].RadioButton", "Yes"); - submissionCollection.Add("SubmitFields[3].TextBox", null); + submissionCollection.Add("SubmitFields[3].TextBox", "i not supposed to be saved 1"); submissionCollection.Add("SubmitFields[4].TextBox", "Testing 123"); - submissionCollection.Add("SubmitFields[5].TextBox", null); + submissionCollection.Add("SubmitFields[5].TextBox", "i not supposed to be saved 2"); IDictionary submissionFields = new System.Collections.Generic.Dictionary(); submissionFields.Add("1", "1"); @@ -679,13 +678,11 @@ public void FillIn_NotSelectedConditionFieldWithSubComponentRequiredShouldBeSave Assert.AreEqual(0, _unitOfWork.PreRegistrations.GetAll().Count()); - Assert.AreEqual(5, templateViewModel.Entries.Count); + Assert.AreEqual(3, templateViewModel.Entries.Count); Assert.AreEqual("Yes", templateViewModel.Entries[0].Value); Assert.AreEqual("Yes", templateViewModel.Entries[1].Value); - Assert.AreEqual(null, templateViewModel.Entries[2].Value); - Assert.AreEqual("Testing 123", templateViewModel.Entries[3].Value); - Assert.AreEqual(null, templateViewModel.Entries[4].Value); + Assert.AreEqual("Testing 123", templateViewModel.Entries[2].Value); } [TestMethod()]