public ActionResult GetSettings(string formid)//List<FormInfoModel> ModelList, string formid) { FormSettingRequest FormSettingReq = new Enter.Common.Message.FormSettingRequest(); List <KeyValuePair <int, string> > TempColumns = new List <KeyValuePair <int, string> >(); //Get All forms List <FormsHierarchyDTO> FormsHierarchy = GetFormsHierarchy(formid); // List<FormSettingResponse> FormSettingResponseList = new List<FormSettingResponse>(); List <SettingsInfoModel> ModelList = new List <SettingsInfoModel>(); foreach (var Item in FormsHierarchy) { FormSettingReq.GetXml = true; FormSettingReq.FormInfo.FormId = new Guid(Item.FormId).ToString(); FormSettingReq.FormInfo.UserId = SurveyHelper.GetDecryptUserId(Session["UserId"].ToString()); FormSettingReq.CurrentOrgId = int.Parse(Session["SelectedOrgId"].ToString()); //Getting Column Name List FormSettingResponse FormSettingResponse = _isurveyFacade.GetFormSettings(FormSettingReq); // FormSettingResponseList.Add(FormSettingResponse); // FormSettingResponse FormSettingResponse = _isurveyFacade.GetFormSettings(FormSettingReq); Columns = FormSettingResponse.FormSetting.ColumnNameList.ToList(); TempColumns = Columns; Columns.Sort(Compare); Dictionary <int, string> dictionary = Columns.ToDictionary(pair => pair.Key, pair => pair.Value); SettingsInfoModel Model = new SettingsInfoModel(); Model.SelectedControlNameList = dictionary; Columns = FormSettingResponse.FormSetting.FormControlNameList.ToList(); // Get Additional Metadata columns if (!FormSettingResponse.FormInfo.IsSQLProject) { var MetaDataColumns = Epi.Web.MVC.Constants.Constant.MetaDaTaColumnNames(); Dictionary <int, string> Columndictionary = TempColumns.ToDictionary(pair => pair.Key, pair => pair.Value); foreach (var item in MetaDataColumns) { if (!Columndictionary.ContainsValue(item)) { Columns.Add(new KeyValuePair <int, string>(Columns.Count() + 1, item)); } } Columns.Sort(Compare); } Dictionary <int, string> dictionary1 = Columns.ToDictionary(pair => pair.Key, pair => pair.Value); Model.FormControlNameList = dictionary1; Columns = FormSettingResponse.FormSetting.AssignedUserList.ToList(); if (Columns.Exists(col => col.Value == Session["UserEmailAddress"].ToString())) { Columns.Remove(Columns.First(u => u.Value == Session["UserEmailAddress"].ToString())); } //Columns.Sort(Compare); Dictionary <int, string> dictionary2 = Columns.ToDictionary(pair => pair.Key, pair => pair.Value); Model.AssignedUserList = dictionary2; Columns = FormSettingResponse.FormSetting.UserList.ToList(); if (Columns.Exists(col => col.Value == Session["UserEmailAddress"].ToString())) { Columns.Remove(Columns.First(u => u.Value == Session["UserEmailAddress"].ToString())); } //Columns.Sort(Compare); Dictionary <int, string> dictionary3 = Columns.ToDictionary(pair => pair.Key, pair => pair.Value); Model.UserList = dictionary3; Columns = FormSettingResponse.FormSetting.AvailableOrgList.ToList(); Dictionary <int, string> dictionary4 = Columns.ToDictionary(pair => pair.Key, pair => pair.Value); Model.AvailableOrgList = dictionary4; Columns = FormSettingResponse.FormSetting.SelectedOrgList.ToList(); Dictionary <int, string> dictionary5 = Columns.ToDictionary(pair => pair.Key, pair => pair.Value); Model.SelectedOrgList = dictionary5; Model.IsShareable = FormSettingResponse.FormInfo.IsShareable; Model.IsDraftMode = FormSettingResponse.FormInfo.IsDraftMode; Model.FormOwnerFirstName = FormSettingResponse.FormInfo.OwnerFName; Model.FormOwnerLastName = FormSettingResponse.FormInfo.OwnerLName; Model.FormName = FormSettingResponse.FormInfo.FormName; Model.FormId = Item.FormId; Model.DataAccessRuleIds = FormSettingResponse.FormSetting.DataAccessRuleIds; Model.SelectedDataAccessRule = FormSettingResponse.FormSetting.SelectedDataAccessRule; Model.HasDraftModeData = FormSettingResponse.FormInfo.HasDraftModeData; var DataAccessRuleDescription = ""; foreach (var item in FormSettingResponse.FormSetting.DataAccessRuleDescription) { DataAccessRuleDescription = DataAccessRuleDescription + item.Key.ToString() + " : " + item.Value + "\n"; } Model.DataAccessRuleDescription = DataAccessRuleDescription; ModelList.Add(Model); } return(PartialView("Settings", ModelList)); }
public ActionResult GetSettings(string formId)//List<FormInfoModel> ModelList, string formid) { var projectId = GetStringSessionValue(UserSession.Key.ProjectId); var userId = GetIntSessionValue(UserSession.Key.UserId); var currentOrgId = GetIntSessionValue(UserSession.Key.SelectedOrgId); List <KeyValuePair <int, string> > tempColumns = new List <KeyValuePair <int, string> >(); //Get All forms List <FormsHierarchyDTO> formsHierarchy = GetFormsHierarchy(/*FromURL*/ formId); List <SettingsInfoModel> modelList = new List <SettingsInfoModel>(); List <FormSettingRequest> formSettingReqList = new List <FormSettingRequest>(); foreach (var Item in formsHierarchy) { FormSettingRequest formSettingReq = new FormSettingRequest { ProjectId = projectId }; formSettingReq.GetMetadata = true; formSettingReq.FormInfo.FormId = new Guid(Item.FormId).ToString(); formSettingReq.FormInfo.UserId = userId; formSettingReq.CurrentOrgId = currentOrgId; formSettingReqList.Add(formSettingReq); } //Getting Column Name List List <FormSettingResponse> formSettingResponseList = _surveyFacade.GetFormSettingsList(formSettingReqList); foreach (var formSettingResponse in formSettingResponseList) { _columns = formSettingResponse.FormSetting.ColumnNameList.ToList(); tempColumns = _columns; _columns.Sort(Compare); Dictionary <int, string> dictionary = _columns.ToDictionary(pair => pair.Key, pair => pair.Value); SettingsInfoModel model = new SettingsInfoModel(); model.SelectedControlNameList = dictionary; _columns = formSettingResponse.FormSetting.FormControlNameList.ToList(); // Get Additional Metadata columns /* var metadataColumns = Epi.Cloud.Common.Constants.Constant.MetadataColumnNames(); * Dictionary<int, string> columnDictionary = tempColumns.ToDictionary(pair => pair.Key, pair => pair.Value); * * foreach (var item in metadataColumns) * { * if (!columnDictionary.ContainsValue(item)) * { * _columns.Add(new KeyValuePair<int, string>(_columns.Count() + 1, item)); * } * }*/ _columns.Sort(Compare); Dictionary <int, string> dictionary1 = _columns.ToDictionary(pair => pair.Key, pair => pair.Value); model.FormControlNameList = dictionary1; string sessionUserEmailAddress = GetStringSessionValue(UserSession.Key.UserEmailAddress); _columns = formSettingResponse.FormSetting.AssignedUserList.ToList(); if (_columns.Exists(col => col.Value == sessionUserEmailAddress)) { _columns.Remove(_columns.First(u => u.Value == sessionUserEmailAddress)); } //Columns.Sort(Compare); Dictionary <int, string> dictionary2 = _columns.ToDictionary(pair => pair.Key, pair => pair.Value); model.AssignedUserList = dictionary2; _columns = formSettingResponse.FormSetting.UserList.ToList(); if (_columns.Exists(col => col.Value == sessionUserEmailAddress)) { _columns.Remove(_columns.First(u => u.Value == sessionUserEmailAddress)); } Dictionary <int, string> dictionary3 = _columns.ToDictionary(pair => pair.Key, pair => pair.Value); model.UserList = dictionary3; _columns = formSettingResponse.FormSetting.AvailableOrgList.ToList(); Dictionary <int, string> dictionary4 = _columns.ToDictionary(pair => pair.Key, pair => pair.Value); model.AvailableOrgList = dictionary4; _columns = formSettingResponse.FormSetting.SelectedOrgList.ToList(); Dictionary <int, string> dictionary5 = _columns.ToDictionary(pair => pair.Key, pair => pair.Value); model.SelectedOrgList = dictionary5; model.IsShareable = formSettingResponse.FormInfo.IsShareable; model.IsDraftMode = formSettingResponse.FormInfo.IsDraftMode; model.FormOwnerFirstName = formSettingResponse.FormInfo.OwnerFName; model.FormOwnerLastName = formSettingResponse.FormInfo.OwnerLName; model.FormName = formSettingResponse.FormInfo.FormName; model.FormId = formSettingResponse.FormInfo.FormId; model.DataAccessRuleIds = formSettingResponse.FormSetting.DataAccessRuleIds; model.SelectedDataAccessRule = formSettingResponse.FormSetting.SelectedDataAccessRule; model.HasDraftModeData = formSettingResponse.FormInfo.HasDraftModeData; var DataAccessRuleDescription = ""; foreach (var item in formSettingResponse.FormSetting.DataAccessRuleDescription) { DataAccessRuleDescription = DataAccessRuleDescription + item.Key.ToString() + " : " + item.Value + "\n"; } model.DataAccessRuleDescription = DataAccessRuleDescription; modelList.Add(model); } return(PartialView("Settings", modelList)); }