protected EmailTemplateFieldDTO RemoveFieldFromList(bool isTemplateUpdate) { EmailTemplateFieldDTO field = new EmailTemplateFieldDTO(); //get fieldList from session if exists if (Session["FieldList"] != null) { FieldList = (List <EmailTemplateFieldDTO>)Session["FieldList"]; } else { return(field); } //If field is updating/deleting then remove the old field from UI and data structure if (Session["SelectedFieldIndex"] != null) { if (Session["SelectedFieldValue"] != null && FieldList != null) { var selectedValue = Session["SelectedFieldValue"].ToString(); //if template is updating get the removed field instance (if field is updating) if (isTemplateUpdate) { field = FieldList.Where(f => f.FieldName == selectedValue).FirstOrDefault(); } FieldList.RemoveAll(f => f.FieldName == selectedValue); } cbxFieldList.RemoveByIndex(Convert.ToInt32(Session["SelectedFieldIndex"])); } Session["FieldList"] = FieldList; return(field); }
protected void SaveFieldAfterValidation() { //get fieldOptionList List <FieldOptionDTO> foList = new List <FieldOptionDTO>(); if (Session["FieldOptions"] != null) { foList = (List <FieldOptionDTO>)Session["FieldOptions"]; } //create a field obj on save field var DataType = X.GetCmp <ComboBox>(nameof(cbxDataType)).Value; var DefaultValue = X.GetCmp <TextField>("txDefaultValue").Text; var DisplayName = X.GetCmp <TextField>("txDisplayName").Text; var FieldName = X.GetCmp <TextField>("txFieldName").Text; var FieldOrder = Convert.ToInt32(X.GetCmp <TextField>("txFieldOrder").Text); var FieldType = Session["FieldType"].ToString(); var IsAllowBlank = Convert.ToBoolean(cbxAllowBlank.Value); var v = new EmailTemplateFieldDTO() { DataType = Convert.ToString(DataType), DefaultValue = DefaultValue, DisplayName = DisplayName, FieldName = FieldName, FieldOrder = FieldOrder, FieldType = FieldType, IsAllowBlank = IsAllowBlank, FieldOptions = foList }; //get fieldList from session if exists if (Session["FieldList"] != null) { FieldList = (List <EmailTemplateFieldDTO>)Session["FieldList"]; } FieldList.Add(v); //update session Session["FieldList"] = FieldList; //form reset //FormPanelFieldData.Reset(); //hide the form panel X.GetCmp <Ext.Net.Panel>("panelFieldData").Hidden = true; //set window height as form panel is hidden this.Window1.Height = 240; //reset radio group to select again rdRadioGroup.Reset(); //reset fieldOption session value Session["FieldOptions"] = null; //show template save button if >0 field are added if (FieldList.Count > 0) { X.GetCmp <Ext.Net.Button>("btnSaveTemplate").Show(); } }
protected bool CheckValidity() { string fieldValue; List <EmailTemplateFieldDTO> fieldList = null; EmailTemplateFieldDTO currentField = null; var isDuplicate = false; int count = 1; var fieldSelected = Convert.ToString(Session["SelectedFieldValue"]); if (Session["FieldList"] != null && fieldSelected != null) { fieldList = (List <EmailTemplateFieldDTO>)Session["FieldList"]; currentField = fieldList.Where(f => f.FieldName == fieldSelected).FirstOrDefault(); } string value, validationMsg = ""; //validate if field name is duplicate value = txFieldName.Value.ToString(); isDuplicate = fieldList != null?fieldList.Exists(f => f.FieldName == value && (fieldSelected == "" || f.FieldName != fieldSelected)) : false; if (isDuplicate) { validationMsg += $"{count++}. Field Name already exists!<br>"; isDuplicate = false; } //validate if field order is duplicate value = txFieldOrder.Value.ToString(); isDuplicate = fieldList != null?fieldList.Exists(f => f.FieldOrder.ToString() == value && (fieldSelected == "" || f.FieldOrder != currentField.FieldOrder)) : false; if (isDuplicate) { validationMsg += $"{count++}. Field Order already exists!<br>"; isDuplicate = false; } //validate if field display name is duplicate value = txDisplayName.Value.ToString(); isDuplicate = fieldList != null?fieldList.Exists(f => f.DisplayName == value && (fieldSelected == null || f.DisplayName != currentField.DisplayName)) : false; if (isDuplicate) { validationMsg += $"{count++}. Field Display Name already exists!<br>"; isDuplicate = false; } //validate if field options exists for dropdown field if (Session["FieldType"] != null && Session["FieldType"].ToString().ToLower() == "dropdown") { var foList = (List <FieldOptionDTO>)Session["FieldOptions"]; if (foList == null || foList.Count < 1) { validationMsg += $"{count++}. Atleast one field option required!<br>"; } } if (validationMsg != "") { X.Msg.Alert("Validation", validationMsg).Show(); return(false); } return(true); }
private Control GetControl(EmailTemplateFieldDTO field) { switch (field.FieldType) { case TEXT_BOX: if (field.DataType.Equals(INT, StringComparison.InvariantCultureIgnoreCase)) { var textField = new NumberField() { ID = field.FieldName, FieldLabel = field.DisplayName, TabIndex = (short)field.FieldOrder, AllowBlank = field.IsAllowBlank, Text = field.DefaultValue }; if (!string.IsNullOrEmpty(field.FormatRegEx)) { textField.Regex = textField.MaskRe = field.FormatRegEx; } return(textField); } else { var textField = new TextField() { ID = field.FieldName, FieldLabel = field.DisplayName, TabIndex = (short)field.FieldOrder, AllowBlank = field.IsAllowBlank, Text = field.DefaultValue }; if (!string.IsNullOrEmpty(field.FormatRegEx)) { textField.Regex = textField.MaskRe = field.FormatRegEx; } return(textField); } case DROP_DOWN: var comboBox = new ComboBox() { ID = field.FieldName, FieldLabel = field.DisplayName, Text = $"Select {field.DisplayName}", Editable = false, TabIndex = (short)field.FieldOrder, AllowBlank = field.IsAllowBlank }; if (field.FieldOptions != null && field.FieldOptions.Count > 0) { field.FieldOptions.ForEach((fo) => comboBox.Items.Add(new Ext.Net.ListItem() { Text = fo.DisplayName, Value = fo.Value })); } return(comboBox); case CHECK_BOX: var checkbox = new Checkbox() { ID = field.FieldName, FieldLabel = field.DisplayName, TabIndex = (short)field.FieldOrder, }; return(checkbox); default: return(null); } }