public static string GetTempFormValue(this HtmlHelper helper, TemplateFieldViewModel model, string fieldType = "", string returnIfNull = "") { StringBuilder sb = new StringBuilder(); sb.AppendFormat("SubmitFields[{0}].".FormatWith(model.DomId)); if (fieldType.IsNullOrEmpty()) { sb.Append(model.FieldType.ToString().ToTitleCase()); } else { sb.Append(fieldType); } var item = helper.ViewData[sb.ToString().ToLower()]; if (item != null) { if (!string.IsNullOrEmpty(item.ToString())) { /* * if (model.FieldType.Equals(Constants.TemplateFieldType.CHECKBOX)) * { * string value = item.ToString(); * string newValue = ""; * foreach (var option in model.Options.Split(Constants.Form_Option_Split)) * { * if (value.Contains(option)) * { * newValue += Constants.Form_Option_Split_Concate + option; * } * } * * * if (value.Contains("OthersOption")) * { * //string othersOptionValue = form.SubmittedFieldValue(field.DomId, "OthersOption"); * newValue += Constants.Form_Option_Split_Concate + "OthersOption"; * } * * * if (newValue.Substring(0, 1).Equals(Constants.Form_Option_Split_Concate)) * { * newValue = newValue.Remove(0, 1); * } * * return newValue; * } * * else * { * return item.ToString(); * } */ return(item.ToString()); } } return(returnIfNull); }
public static bool IsAnyTempFormValueSelected(this HtmlHelper helper, TemplateFieldViewModel model) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("SubmitFields[{0}].".FormatWith(model.DomId)); sb.Append(model.FieldType.ToString()); var key = sb.ToString().ToLower(); return(helper.ViewData.Any(vd => string.Compare(vd.Key, key, true) == 0)); }
public void UpdateTemplateFieldValue(TemplateFieldValue fieldValue, TemplateFieldViewModel field, string value, string userId = "") { if (field.FieldType != Constants.TemplateFieldType.HEADER) { dbContext.Entry(fieldValue).State = EntityState.Modified; fieldValue.Value = value; fieldValue.UpdatedBy = field.UpdatedBy; fieldValue.UpdatedDateTime = field.UpdatedDateTime; } }
/// <summary> /// Find if the checkbox is checked from saved submission /// </summary> /// <param name="helper"></param> /// <param name="model"></param> /// <param name="value"></param> /// <returns>True if checkbox is checked</returns> public static bool IsSubmittedValueSelected(this HtmlHelper helper, TemplateFieldViewModel model, string value) { if (model.FieldType != TemplateFieldType.CHECKBOX && model.FieldType != TemplateFieldType.RADIOBUTTON) { return(false); } var selectedValue = string.Empty; if (string.IsNullOrEmpty(model.EntryId) || model.EntryId.Equals(Guid.Empty.ToString())) { if (!model.IsValueRequiredForRegistration) { return(false); } else { selectedValue = GetTempRegistrationFormValue(helper, model); } } else { using (var formManager = new FormManager()) { selectedValue = formManager.FindSaveValue(model.EntryId, model.TemplateFieldID ?? default(int)); } } if (string.IsNullOrEmpty(selectedValue)) { return(false); } else if (value.Equals("OthersOption")) { return(true); } string[] options = selectedValue.Split(Form_Option_Split); foreach (string option in options) { if (value.Trim() == option.Trim()) { return(true); } } return(false); }
public TemplateFieldViewModel FindTemplateField(int templateFieldID) { using (var unitOfWork = CreateUnitOfWork()) { TemplateField templateField = unitOfWork.FormRepository.GetTemplateField(templateFieldID); if (templateField == null) { return(null); } return(TemplateFieldViewModel.CreateFromObject(templateField)); } }
protected bool isConditionalFieldRequired(TemplateFieldViewModel field, IDictionary <int, string> submissionFields) { bool result = false; if (submissionFields.ContainsKey(field.ConditionTemplateFieldID.Value)) { string enteredValue = submissionFields[field.ConditionTemplateFieldID.Value]; if (!string.IsNullOrEmpty(enteredValue)) { if (field.ConditionCriteria.Equals("==")) { if (field.ConditionOptions.Contains(enteredValue)) { result = true; } else if (enteredValue.Contains(field.ConditionOptions)) { result = true; } else { result = false; } } else if (field.ConditionCriteria.Equals("!=")) { if (field.ConditionOptions.Contains(enteredValue)) { result = false; } else if (enteredValue.Contains(field.ConditionOptions)) { result = false; } else { result = true; } } } } return(result); }
public void InsertTemplateFieldValue(TemplateFieldViewModel field, string value, Guid entryId, string userId = "") { if (field.FieldType != Constants.TemplateFieldType.HEADER) { var fieldVal = new TemplateFieldValue { TemplateFieldID = field.TemplateFieldID.Value, Value = value, EntryId = entryId, DateAdded = DateTime.Now, CreatedBy = field.CreatedBy, CreatedDateTime = field.CreatedDateTime }; dbContext.Set <TemplateFieldValue>().Add(fieldVal); // this.SaveChanges(); } }
public static bool IsTempFormValueSelected(this HtmlHelper helper, TemplateFieldViewModel model, string value) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("SubmitFields[{0}].".FormatWith(model.DomId)); sb.Append(model.FieldType.ToString().ToTitleCase()); var key = sb.ToString().ToLower(); if (helper.ViewData[key] != null) { var values = helper.ViewData[key].ToString().Split(Form_Option_Split); if (values.Any(v => string.Compare(v.Trim(), value.Trim(), true) == 0)) { return(true); } } return(false); }
//public static FileValueObject GetFileValueFromJsonObject(this string value) //{ // try // { // return value.FromJson<FileValueObject>(); // } // catch // { // return null; // } //} public static void SetFieldErrors(this TemplateFieldViewModel field) { field.Errors = "Invalid entry submitted for {0}".FormatWith(field.Label); if (field.FieldType == Constants.TemplateFieldType.FILEPICKER) { field.Errors = field.Errors.ConcatWith(", file must be betweeen {0}kb and {1}kb large ".FormatWith(field.MinFileSize.ToString(), field.MaxFileSize.ToString())); if (!string.IsNullOrEmpty(field.ValidFileExtensions)) { field.Errors = field.Errors.ConcatWith(" and have the extensions {0}.".FormatWith(field.ValidFileExtensions)); } else { field.Errors = field.Errors.ConcatWith("."); } } else if (field.FieldType == Constants.TemplateFieldType.NRICPICKER) { field.Errors = "Invalid NRIC"; } }
protected override void HandleTemplateFieldValue(TemplateFieldViewModel field, string value, Guid entryId) { ParticipantJourneyModality participantJourneyModality = FindParticipantJourneyModality(); if (participantJourneyModality != null) { if (participantJourneyModality.EntryId == Guid.Empty) { field.CreatedDateTime = DateTime.Now; field.CreatedBy = GetLoginUserName(); UnitOfWork.FormRepository.InsertTemplateFieldValue(field, value, entryId); } else { Guid existingEntryId = participantJourneyModality.EntryId; TemplateFieldValue fieldValue = UnitOfWork.FormRepository.GetTemplateFieldValue(field, existingEntryId); if (fieldValue != null) { field.UpdatedDateTime = DateTime.Now; field.UpdatedBy = GetLoginUserName(); UnitOfWork.FormRepository.UpdateTemplateFieldValue(fieldValue, field, value); } else { field.CreatedDateTime = DateTime.Now; field.CreatedBy = GetLoginUserName(); UnitOfWork.FormRepository.InsertTemplateFieldValue(field, value, existingEntryId); } } } else { throw new Exception("No participantJourneyModality found"); } }
public static bool IsReadOnlyMode(this TemplateFieldViewModel field) { return(field.Mode == Constants.TemplateFieldMode.READONLY); }
public static bool IsInputMode(this TemplateFieldViewModel field) { return(field.Mode == Constants.TemplateFieldMode.INPUT); }
public static string GetTempRegistrationFormValue(this HtmlHelper helper, TemplateFieldViewModel model, string fieldType = "", string returnIfNull = "") { if (!string.IsNullOrEmpty(model.RegistrationFieldName)) { using (var participantjourneyManager = new ParticipantJourneyManager()) { var participant = participantjourneyManager.FindParticipant(model.ParticipantNric); if (participant != null) { var value = GetValueFromParticipant(helper, model.RegistrationFieldName, participant); if (value != null) { switch (model.FieldType) { case TemplateFieldType.ADDRESS: AddressViewModel addressViewModel = AddressViewModel.Initialize(participant.Address); if (fieldType == "Blk") { return(addressViewModel.Blk); } else if (fieldType == "Unit") { return(addressViewModel.Unit); } else if (fieldType == "StreetAddress") { return(addressViewModel.StreetAddress); } else if (fieldType == "ZipCode") { return(participant.PostalCode); } break; case TemplateFieldType.BIRTHDAYPICKER: var birthdayValue = participant.DateOfBirth.Value.ToString("dd/M/yyyy"); if (!string.IsNullOrEmpty(birthdayValue)) { string[] values = birthdayValue.Split("/"); if (fieldType == "Day") { int dayValue = int.Parse(values[0]); return((dayValue < 10) ? ("0" + dayValue) : values[0]); } else if (fieldType == "Month") { return(values[1]); } else if (fieldType == "Year") { return(values[2].Substring(0, 4)); } } else { return(""); } break; default: return(value.ToString()); } } } } } return(returnIfNull); }
public static bool IsEditMode(this TemplateFieldViewModel field) { return(field.Mode == Constants.TemplateFieldMode.EDIT); }
public static string ValidationId(this TemplateFieldViewModel field) { return("{0}-{1}".FormatWith(field.FieldType.ToString().ToLower(), field.TemplateFieldID.ToString())); }
public void UpdateTemplate(TemplateViewModel model, FormCollection collection, IDictionary <string, string> Fields) { using (var unitOfWork = CreateUnitOfWork()) { var template = FindTemplate(model.TemplateID.Value); using (TransactionScope scope = new TransactionScope()) { model.UpdatedDateTime = DateTime.Now; model.UpdatedBy = GetLoginUserName(); // first update the form metadata unitOfWork.FormRepository.UpdateTemplate(model, template); // then if fields were passed in, update them if (Fields.Count() > 0) { foreach (var kvp in Fields) { var domId = Convert.ToInt32(kvp.Key); if (domId >= 0) { var fieldType = collection.FormFieldValue(domId, "FieldType"); var fieldId = collection.FormFieldValue(domId, "Id"); var minAge = collection.FormFieldValue(domId, "MinimumAge").IsInt(18); var maxAge = collection.FormFieldValue(domId, "MaximumAge").IsInt(100); if (minAge >= maxAge) { minAge = 18; maxAge = 100; } var fieldTypeEnum = (Constants.TemplateFieldType)Enum.Parse(typeof(Constants.TemplateFieldType), fieldType.ToUpper()); var fieldView = new TemplateFieldViewModel { DomId = Convert.ToInt32(domId), FieldType = fieldTypeEnum, MaxCharacters = collection.FormFieldValue(domId, "MaxCharacters").IsInt(), Text = collection.FormFieldValue(domId, "Text"), Label = collection.FormFieldValue(domId, "Label"), IsRequired = collection.FormFieldValue(domId, "IsRequired").IsBool(), Options = collection.FormFieldValue(domId, "Options"), SelectedOption = collection.FormFieldValue(domId, "SelectedOption"), AddOthersOption = collection.FormFieldValue(domId, "AddOthersOption").IsBool(), OthersOption = collection.FormFieldValue(domId, "OthersOption"), OthersPlaceHolder = collection.FormFieldValue(domId, "OthersPlaceHolder"), HoverText = collection.FormFieldValue(domId, "HoverText"), Hint = collection.FormFieldValue(domId, "Hint"), MinimumAge = minAge, MaximumAge = maxAge, HelpText = collection.FormFieldValue(domId, "HelpText"), SubLabel = collection.FormFieldValue(domId, "SubLabel"), Size = collection.FormFieldValue(domId, "Size"), Columns = collection.FormFieldValue(domId, "Columns").IsInt(20), Rows = collection.FormFieldValue(domId, "Columns").IsInt(2), Validation = collection.FormFieldValue(domId, "Validation"), Order = collection.FormFieldValue(domId, "Order").IsInt(1), MaxFileSize = collection.FormFieldValue(domId, "MaxFileSize").IsInt(5000), MinFileSize = collection.FormFieldValue(domId, "MinFileSize").IsInt(5), ValidFileExtensions = collection.FormFieldValue(domId, "ValidExtensions"), ImageBase64 = collection.FormFieldValue(domId, "ImageBase64"), MatrixColumn = collection.FormFieldValue(domId, "MatrixColumn"), MatrixRow = collection.FormFieldValue(domId, "MatrixRow"), PreRegistrationFieldName = collection.FormFieldValue(domId, "PreRegistrationFieldName"), RegistrationFieldName = collection.FormFieldValue(domId, "RegistrationFieldName"), SummaryFieldName = collection.FormFieldValue(domId, "SummaryFieldName"), SummaryType = collection.FormFieldValue(domId, "SummaryType"), ConditionCriteria = collection.FormFieldValue(domId, "ConditionCriteria"), ConditionOptions = collection.FormFieldValue(domId, "ConditionOptions"), CreatedBy = GetLoginUserName(), CreatedDateTime = DateTime.Now, UpdatedDateTime = DateTime.Now, UpdatedBy = GetLoginUserName() }; var conditionTemplateFieldID = collection.FormFieldValue(domId, "ConditionTemplateFieldID"); if (!string.IsNullOrEmpty(conditionTemplateFieldID)) { fieldView.ConditionTemplateFieldID = Convert.ToInt32(conditionTemplateFieldID); } var standardReferenceID = collection.FormFieldValue(domId, "StandardReferenceID"); if (!string.IsNullOrEmpty(standardReferenceID)) { fieldView.StandardReferenceID = Convert.ToInt32(standardReferenceID); } if (!fieldId.IsNullOrEmpty() && fieldId.IsInteger()) { fieldView.TemplateFieldID = Convert.ToInt32(fieldId); } unitOfWork.FormRepository.UpdateTemplateField(template, fieldView); } } } unitOfWork.Complete(); scope.Complete(); } } }
public static string SubmittedValue(this TemplateFieldViewModel field, FormCollection form) { var fType = field.FieldType.ToString().ToTitleCase(); string value = ""; switch (field.FieldType) { case Constants.TemplateFieldType.MATRIX: StringBuilder builder = new StringBuilder(); for (int x = 0; x < 100; x++) { value = form.SubmittedFieldValue(field.DomId, "[" + x + "].RadioButton"); if (value == null) { break; } if (x == 0) { builder.Append(value); } else { builder.Append(Constants.Form_Option_Split + value); } } value = builder.ToString(); break; case Constants.TemplateFieldType.BMI: var bmi = new BMIViewModel { Weight = form.SubmittedFieldValue(field.DomId, "Weight"), Height = form.SubmittedFieldValue(field.DomId, "Height"), }; if (bmi.Weight == "" || bmi.Height == "") { value = ""; } else { value = bmi.ToJson(); } break; case Constants.TemplateFieldType.NRICPICKER: string icNumber = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); //string icFirstDigit = form.SubmittedFieldValue(field.DomId, "FirstDigit"); // string icLastDigit = form.SubmittedFieldValue(field.DomId, "LastDigit"); value = icNumber; break; case Constants.TemplateFieldType.EMAIL: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); break; case Constants.TemplateFieldType.ADDRESS: var address = new AddressViewModel { Blk = form.SubmittedFieldValue(field.DomId, "Blk"), Unit = form.SubmittedFieldValue(field.DomId, "Unit"), StreetAddress = form.SubmittedFieldValue(field.DomId, "StreetAddress"), ZipCode = form.SubmittedFieldValue(field.DomId, "ZipCode"), }; if (address.Blk.IsEmptyOrWhiteSpace() && address.StreetAddress.IsEmptyOrWhiteSpace()) { value = ""; } else { value = address.ToJson(); } break; case Constants.TemplateFieldType.BIRTHDAYPICKER: var day = form.SubmittedFieldValue(field.DomId, "Day"); var month = form.SubmittedFieldValue(field.DomId, "Month"); var year = form.SubmittedFieldValue(field.DomId, "Year"); if (day.IsNullOrEmpty() && month.IsNullOrEmpty() && year.IsNullOrEmpty()) { value = ""; } else { DateTime date = new DateTime(Int32.Parse(year), Int32.Parse(month), Int32.Parse(day)); value = date.ToString("dd/M/yyyy hh:mm:ss tt"); /* * var dateValue = "{0}-{1}-{2}".FormatWith(month, day, year); * //var format = new string[] { "M-dd-yyyy" }; * DateTime date; * if (DateTime.TryParseExact(dateValue, "M-dd-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault, out date)) * { * value = date.ToString("dd/M/yyyy hh:mm:ss tt"); * } * else * { * value = ""; * }*/ } break; case Constants.TemplateFieldType.CHECKBOX: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); if (!value.IsNullOrEmpty()) { string newValue = ""; foreach (var option in field.Options.Split(Constants.Form_Option_Split)) { if (value.Contains(option)) { newValue += Constants.Form_Option_Split_Concate + option; } } if (value.Contains("OthersOption")) { string othersOptionValue = form.SubmittedFieldValue(field.DomId, "OthersOption"); newValue += Constants.Form_Option_Split_Concate + othersOptionValue; } if (newValue.Substring(0, 1).Equals(Constants.Form_Option_Split_Concate)) { newValue = newValue.Remove(0, 1); } value = newValue; } break; case Constants.TemplateFieldType.PHONE: var area = form.SubmittedFieldValue(field.DomId, "AreaCode"); var number = form.SubmittedFieldValue(field.DomId, "Number"); if (string.IsNullOrEmpty(area) && string.IsNullOrEmpty(number)) { value = ""; } else { value = "{0}-{1}".FormatWith(area, number); } break; case Constants.TemplateFieldType.DROPDOWNLIST: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); break; case Constants.TemplateFieldType.RADIOBUTTON: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); if (!value.IsNullOrEmpty() && value.Equals("OthersOption")) { value = form.SubmittedFieldValue(field.DomId, "OthersOption"); } break; case Constants.TemplateFieldType.FULLNAME: var fName = form.SubmittedFieldValue(field.DomId, "FirstName"); var lName = form.SubmittedFieldValue(field.DomId, "LastName"); var initials = form.SubmittedFieldValue(field.DomId, "Initials"); if (string.IsNullOrEmpty(fName) && string.IsNullOrEmpty(lName)) { value = ""; } else { value = "{0} {1} {2}".FormatWith(fName, initials, lName); } break; case Constants.TemplateFieldType.TEXTAREA: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); break; case Constants.TemplateFieldType.TEXTBOX: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); break; case Constants.TemplateFieldType.TEXTBOXNUMBER: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); break; case Constants.TemplateFieldType.SIGNATURE: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); break; case Constants.TemplateFieldType.DOCTORMEMO: value = form.SubmittedFieldValue(field.DomId, "TextArea"); break; case Constants.TemplateFieldType.FILEPICKER: //HttpPostedFile file = HttpContext.Current.Request.Files[SubmittedFieldName(field.DomId, fType.ToTitleCase())]; //value = ""; //if (file != null && file.ContentLength > 0) //{ // var extension = Path.GetExtension(file.FileName); // var valueObject = new FileValueObject() // { // FileName = file.FileName, // SaveName = Guid.NewGuid().ToString() + extension, // SavePath = WebConfig.Get("filesavepath"), // IsSavedInCloud = UtilityHelper.UseCloudStorage(), // Extension = extension // }; // value = valueObject.ToJson(); //} break; } return(value); }
public static bool SubmittedValueIsValid(this TemplateFieldViewModel field, FormCollection form) { var fType = field.FieldType.ToString().ToTitleCase(); string value = ""; switch (field.FieldType) { case Constants.TemplateFieldType.TEXTBOXNUMBER: string textnumber = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); if (string.IsNullOrEmpty(textnumber)) { return(true); } return(textnumber.IsNumeric()); case Constants.TemplateFieldType.NRICPICKER: string icNumber = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); // string icFirstDigit = form.SubmittedFieldValue(field.DomId, "FirstDigit"); // string icLastDigit = form.SubmittedFieldValue(field.DomId, "LastDigit"); return(NricChecker.IsNRICValid(icNumber)); case Constants.TemplateFieldType.CHECKBOX: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); if (!value.IsNullOrEmpty() && value.Contains("OthersOption")) { string othersOptionValue = form.SubmittedFieldValue(field.DomId, "OthersOption"); if (othersOptionValue.IsNullOrEmpty()) { return(false); } } return(true); case Constants.TemplateFieldType.RADIOBUTTON: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); if (!value.IsNullOrEmpty() && value.Equals("OthersOption")) { value = form.SubmittedFieldValue(field.DomId, "OthersOption"); if (value.IsNullOrEmpty()) { return(false); } } return(true); case Constants.TemplateFieldType.EMAIL: value = form.SubmittedFieldValue(field.DomId, fType.ToTitleCase()); if (value.IsNullOrEmpty()) { return(true); } return(value.IsValidEmail()); case Constants.TemplateFieldType.ADDRESS: return(true); case Constants.TemplateFieldType.PHONE: var area = form.SubmittedFieldValue(field.DomId, "AreaCode"); var number = form.SubmittedFieldValue(field.DomId, "Number"); if (area.IsNullOrEmpty() && number.IsNullOrEmpty()) { return(true); } else if ((area.IsNullOrEmpty() && !number.IsNullOrEmpty()) || (!area.IsNullOrEmpty() && number.IsNullOrEmpty())) { return(false); } else { return(area.IsNumeric() && number.IsNumeric()); } case Constants.TemplateFieldType.BIRTHDAYPICKER: var day = form.SubmittedFieldValue(field.DomId, "Day"); var month = form.SubmittedFieldValue(field.DomId, "Month"); var year = form.SubmittedFieldValue(field.DomId, "Year"); if (day.IsNullOrEmpty() && month.IsNullOrEmpty() && year.IsNullOrEmpty()) { return(true); } try { if (!string.IsNullOrEmpty(day)) { int dayValue = Int32.Parse(day); if (dayValue <= 0 || dayValue >= 32) { return(false); } } if (!string.IsNullOrEmpty(month)) { int monthValue = Int32.Parse(month); if (monthValue <= 0 || monthValue >= 13) { return(false); } } if (!string.IsNullOrEmpty(year)) { int yearValue = Int32.Parse(year); if (yearValue <= 1916 || yearValue >= 2999) { return(false); } } return(true); } catch (FormatException) { return(false); } /* * var dateValue = "{0}-{1}-{2}".FormatWith(month, day, year); * var format = new string[] { "M-dd-yyyy" }; * DateTime date; * return DateTime.TryParseExact(dateValue, "M-dd-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.NoCurrentDateDefault, out date); */ case Constants.TemplateFieldType.FILEPICKER: HttpPostedFile file = HttpContext.Current.Request.Files[SubmittedFieldName(field.DomId, fType.ToTitleCase())]; var maxSize = field.MaxFileSize * 1024; var minSize = field.MinFileSize * 1024; var validExtensions = field.ValidFileExtensions; if (file != null && file.ContentLength > 0) { var extension = System.IO.Path.GetExtension(file.FileName); // check filesize is within range of Max and Min if (!(file.ContentLength >= minSize && file.ContentLength <= maxSize)) { return(false); } // check file extension is valid if (!validExtensions.IsNullOrEmpty()) { var validExtensionArr = validExtensions.Split(",").Select(ext => ext.Trim()).ToList(); bool isValidExt = false; foreach (var ext in validExtensionArr) { var updatedExt = ext; if (!ext.StartsWith(".")) { updatedExt = "." + ext; } if (updatedExt.IsTheSameAs(extension)) { isValidExt = true; } } return(isValidExt); } } return(true); } return(true); }
protected virtual void HandleTemplateFieldValue(TemplateFieldViewModel field, string value, Guid entryId) { field.CreatedDateTime = DateTime.Now; field.CreatedBy = GetLoginUserName(); UnitOfWork.FormRepository.InsertTemplateFieldValue(field, value, entryId); }
public static string GetSubmittedOtherOptionsTextValue(this HtmlHelper helper, TemplateFieldViewModel model, string fieldType = "", string returnIfNull = "") { string tempValue = GetTempFormValue(helper, model, fieldType, returnIfNull); if (!string.IsNullOrEmpty(tempValue)) { return(tempValue); } if (string.IsNullOrEmpty(model.EntryId) || model.EntryId.Equals(Guid.Empty.ToString())) { if (!model.IsValueRequiredForRegistration) { return(""); } else { return(GetTempRegistrationFormValue(helper, model, fieldType)); } } else { using (var formManager = new FormManager()) { switch (model.FieldType) { case TemplateFieldType.ADDRESS: var addressValue = formManager.FindSaveValue(model.EntryId, model.TemplateFieldID ?? default(int)); AddressViewModel address = addressValue.FromJson <AddressViewModel>(); if (address != null) { if (fieldType == "Blk") { return(address.Blk); } else if (fieldType == "Unit") { return(address.Unit); } else if (fieldType == "StreetAddress") { return(address.StreetAddress); } else if (fieldType == "ZipCode") { return(address.ZipCode); } } break; case TemplateFieldType.BMI: var bmiValue = formManager.FindSaveValue(model.EntryId, model.TemplateFieldID ?? default(int)); BMIViewModel bmi = bmiValue.FromJson <BMIViewModel>(); if (fieldType == "Weight") { return(bmi.Weight); } else if (fieldType == "Height") { return(bmi.Height); } break; case TemplateFieldType.BIRTHDAYPICKER: var birthdayValue = formManager.FindSaveValue(model.EntryId, model.TemplateFieldID ?? default(int)); if (!string.IsNullOrEmpty(birthdayValue)) { string[] values = birthdayValue.Split("/"); if (fieldType == "Day") { int dayValue = int.Parse(values[0]); return((dayValue < 10) ? ("0" + dayValue) : values[0]); } else if (fieldType == "Month") { return(values[1]); } else if (fieldType == "Year") { return(values[2].Substring(0, 4)); } } else { return(""); } break; default: return(formManager.FindSaveValue(model.EntryId, model.TemplateFieldID ?? default(int))); } } } return(""); }
public TemplateFieldValue GetTemplateFieldValue(TemplateFieldViewModel field, Guid entryId) { return(dbContext.Set <TemplateFieldValue>().Where(u => u.EntryId.Equals(entryId) && u.TemplateFieldID == field.TemplateFieldID).FirstOrDefault()); }
public static bool IsDisplayField(this HtmlHelper helper, TemplateFieldViewModel model) { bool result = true; if (model.ConditionTemplateFieldID.HasValue) { if (string.IsNullOrEmpty(model.ConditionCriteria) || string.IsNullOrEmpty(model.ConditionOptions)) { result = true; } else if (string.IsNullOrEmpty(model.EntryId) || model.EntryId.Equals(Guid.Empty.ToString())) { result = false; } else { using (var formManager = new FormManager()) { TemplateFieldViewModel conditionTemplateFieldViewModel = formManager.FindTemplateField(model.ConditionTemplateFieldID.Value); if (conditionTemplateFieldViewModel != null) { conditionTemplateFieldViewModel.EntryId = model.EntryId; string conditionTemplateFieldValue = GetSubmittedTextValue(helper, conditionTemplateFieldViewModel); if (!string.IsNullOrEmpty(conditionTemplateFieldValue)) { if (model.ConditionCriteria.Equals("==")) { if (model.ConditionOptions.Contains(conditionTemplateFieldValue)) { result = true; } else if (conditionTemplateFieldValue.Contains(model.ConditionOptions)) { result = true; } else { result = false; } } else if (model.ConditionCriteria.Equals("!=")) { if (model.ConditionOptions.Contains(conditionTemplateFieldValue)) { result = false; } else if (conditionTemplateFieldValue.Contains(model.ConditionOptions)) { result = false; } else { result = true; } } } } } } } return(result); }
public void UpdateTemplateField(Template template1, TemplateFieldViewModel fieldView) { if (template1 == null) { throw new Exception("Cannot update a field when a form is null"); } dbContext.Entry(template1).State = EntityState.Modified; if (!fieldView.TemplateFieldID.HasValue) { // create var fField = new TemplateField { DomId = fieldView.DomId, // Label = fieldView.Label.LimitWithElipses(40), Label = fieldView.Label, Text = fieldView.Text.Trim(), FieldType = fieldView.FieldType.ToString(), IsRequired = fieldView.IsRequired, MaxChars = fieldView.MaxCharacters, HoverText = fieldView.HoverText.Trim(), Hint = fieldView.Hint.Trim(), SubLabel = fieldView.SubLabel.Trim(), Size = fieldView.Size, Columns = fieldView.Columns, Rows = fieldView.Rows, Options = fieldView.Options, SelectedOption = fieldView.SelectedOption, AddOthersOption = fieldView.AddOthersOption, OthersOption = fieldView.OthersOption, OthersPlaceHolder = fieldView.OthersPlaceHolder, HelpText = fieldView.HelpText.Trim(), Validation = fieldView.Validation, Order = fieldView.Order, MinimumAge = fieldView.MinimumAge, MaximumAge = fieldView.MaximumAge, MaxFilesizeInKb = fieldView.MaxFileSize, MinFilesizeInKb = fieldView.MinFileSize, ValidFileExtensions = fieldView.ValidFileExtensions, DateAdded = DateTime.Now, ImageBase64 = fieldView.ImageBase64, MatrixRow = fieldView.MatrixRow, MatrixColumn = fieldView.MatrixColumn, PreRegistrationFieldName = fieldView.PreRegistrationFieldName, RegistrationFieldName = fieldView.RegistrationFieldName, SummaryFieldName = fieldView.SummaryFieldName, SummaryType = fieldView.SummaryType, ConditionCriteria = fieldView.ConditionCriteria, ConditionOptions = fieldView.ConditionOptions, ConditionTemplateFieldID = fieldView.ConditionTemplateFieldID, StandardReferenceID = fieldView.StandardReferenceID, CreatedBy = fieldView.CreatedBy, CreatedDateTime = fieldView.CreatedDateTime }; template1.TemplateFields.Add(fField); // this.SaveChanges(); } else { var fField = dbContext.Set <TemplateField>().Where(field => field.TemplateFieldID == fieldView.TemplateFieldID.Value).FirstOrDefault(); if (fField != null) { // fField.Label = fieldView.Label.LimitWithElipses(45); fField.Label = fieldView.Label; fField.Text = fieldView.Text.Trim(); fField.FieldType = fieldView.FieldType.ToString(); fField.IsRequired = fieldView.IsRequired; fField.MaxChars = fieldView.MaxCharacters; fField.HoverText = fieldView.HoverText.Trim(); fField.Hint = fieldView.Hint.Trim(); fField.SubLabel = fieldView.SubLabel.Trim(); fField.Size = fieldView.Size; fField.Columns = fieldView.Columns; fField.Rows = fieldView.Rows; fField.Options = fieldView.Options; fField.SelectedOption = fieldView.SelectedOption; fField.AddOthersOption = fieldView.AddOthersOption; fField.OthersOption = fieldView.OthersOption; fField.OthersPlaceHolder = fieldView.OthersPlaceHolder; fField.HelpText = fieldView.HelpText.Trim(); fField.Validation = fieldView.Validation; fField.Order = fieldView.Order; fField.MinimumAge = fieldView.MinimumAge; fField.MaximumAge = fieldView.MaximumAge; fField.MaxFilesizeInKb = fieldView.MaxFileSize; fField.MinFilesizeInKb = fieldView.MinFileSize; fField.ValidFileExtensions = fieldView.ValidFileExtensions; fField.ImageBase64 = fieldView.ImageBase64; fField.MatrixColumn = fieldView.MatrixColumn; fField.MatrixRow = fieldView.MatrixRow; fField.PreRegistrationFieldName = fieldView.PreRegistrationFieldName; fField.RegistrationFieldName = fieldView.RegistrationFieldName; fField.SummaryFieldName = fieldView.SummaryFieldName; fField.SummaryType = fieldView.SummaryType; fField.ConditionCriteria = fieldView.ConditionCriteria; fField.ConditionOptions = fieldView.ConditionOptions; fField.ConditionTemplateFieldID = fieldView.ConditionTemplateFieldID; fField.StandardReferenceID = fieldView.StandardReferenceID; fField.UpdatedBy = fieldView.UpdatedBy; fField.UpdatedDateTime = fieldView.UpdatedDateTime; } // this.SaveChanges(); } }
public static string SubmittedFieldName(this TemplateFieldViewModel field) { return(SubmittedFieldName(field.DomId, field.FieldType.ToString().ToTitleCase())); }