public ActionResult EditEmailParsingRule(long ruleId) { var rule = demoHelper.rules.Find(w => w.Id == ruleId); List<SelectListItem> worksheetsList = new List<SelectListItem>(); for (int i = 0; i < 10; i++) { // worksheetsList.Add(new SelectListItem { Text = i.ToString(), Value = i.ToString() }); worksheetsList.Add(new SelectListItem { Text = Enum.GetName(typeof(WorksheetsNames), i) + " worksheet", Value = i.ToString() }); // Enum.GetName(typeof(DataExplorationEnums), updatingRule.DataExploration) } List<SelectListItem> saveEmail = new List<SelectListItem> { new SelectListItem {Text = "Email without attachments", Value = "0"}, new SelectListItem {Text = "Email with attachments", Value = "1"} }; var saveEmailProperties = demoHelper.allSaveEmailProperties.FindAll(w => w.EmailParsingRulesModelsId == ruleId && w.SaveEmailProp != null).ToList(); if (rule != null) { if (!rule.IsUpdatingRule) { var model = new Oasis.Models.EditRuleForEmailModel { Id = rule.Id, Email = HttpUtility.HtmlDecode(rule.Email), Subject = HttpUtility.HtmlDecode(rule.Subject), PlainContains = HttpUtility.HtmlDecode(rule.PlainContains), //IsUpdatingRule = rule.IsUpdatingRule.ToString(), Name = rule.Name, Tables = demoHelper.tables, WorksheetsList = worksheetsList, SaveEmail = saveEmail, Status = rule.Status == null ? rule.Status = Model.Enums.RuleStatusEnums.Active.ToString() : rule.Status, SaveEmailProperties = saveEmailProperties, SaveEmailGroupItem = GetLayoutGroupForEmailParsingRule(rule.Id, demoHelper.tables, worksheetsList, saveEmail, rule.IsUpdatingRule, rule.CopyRuleFromPreviousOrder) }; return PartialView(model); } else { var updatingRule = rule.EmailDataParsingRulesModels.Where(c => c.EmailParsingRulesModelsId_Id == rule.Id && c.IsUpdatindIndex).FirstOrDefault(); //var table = tablesRepository.Find(t => t.Id == updatingRule.TableId_Id); var updatingRuleModel = new Oasis.Models.EditRuleForDataModel(); if (updatingRule != null) { updatingRuleModel = new Oasis.Models.EditRuleForDataModel { Id = updatingRule.Id, ParentId = rule.Id, Expression = HttpUtility.HtmlDecode(updatingRule.Expression), DataExplorationExpression = HttpUtility.HtmlDecode(updatingRule.DataExplorationExpression), ExpressionToChange = HttpUtility.HtmlDecode(updatingRule.ExpressionToChange), RegularExpressionToChange = HttpUtility.HtmlDecode(updatingRule.RegularExpressionToChange), ChangeTo = HttpUtility.HtmlDecode(updatingRule.ChangeTo), DataExploration = Enum.GetName(typeof(DataExplorationEnums), updatingRule.DataExploration), IsUpdatindIndex = (updatingRule.IsUpdatindIndex).ToString(), IsRegexpExpression = Convert.ToString(updatingRule.IsRegexpExpression), IsChanging = Convert.ToString(updatingRule.IsChanging), // Cell = new Oasis.Models.CellModel { TableId = table.Name, Column = Convert.ToString(updatingRule.Column), Worksheet = Convert.ToString(updatingRule.Worksheet) }, Status = updatingRule.Status == null ? rule.Status = Model.Enums.RuleStatusEnums.Active.ToString() : rule.Status, ParsingMode = updatingRule.ParsingMode, ConsiderRegister = (updatingRule.ConsiderRegister).ToString(), IsUpdatingRule = false, ColumnForUpdate = Convert.ToString(updatingRule.ColumnForUpdate) }; } var model = new Oasis.Models.EditUpdatingRuleForEmailModel { Id = rule.Id, Email = HttpUtility.HtmlDecode(rule.Email), Subject = HttpUtility.HtmlDecode(rule.Subject), PlainContains = HttpUtility.HtmlDecode(rule.PlainContains), Tables = demoHelper.tables, WorksheetsList = worksheetsList, Name = rule.Name, SaveEmail = saveEmail, Status = rule.Status == null ? rule.Status = Model.Enums.RuleStatusEnums.Active.ToString() : rule.Status, SaveEmailProperties = saveEmailProperties, SaveEmailGroupItem = GetLayoutGroupForEmailParsingRule(rule.Id, demoHelper.tables, worksheetsList, saveEmail, rule.IsUpdatingRule, rule.CopyRuleFromPreviousOrder), UpdatingRule = updatingRuleModel }; return PartialView("EditEmailParsingUpdatingRule", model); } } return RedirectToAction("ManageEmailParsingRules"); }
public ActionResult EditEmailDataParsingRule(long ruleId) { var data_rule = demoHelper.dataRules.Find(w => w.Id == ruleId); var parentRule = demoHelper.rules.Find(r => r.EmailDataParsingRulesModels.Where(c => c.Id == data_rule.Id) != null); var d = data_rule.TableId_Id; var d1 = data_rule.Worksheet; var d2 = data_rule.Column; var table = tablesRepository.Find(t => t.Id == data_rule.TableId_Id); if (data_rule != null) { List<SelectListItem> worksheetsList = new List<SelectListItem>(); for (int i = 0; i < 10; i++) { worksheetsList.Add(new SelectListItem { Text = Enum.GetName(typeof(WorksheetsNames), i) + " worksheet", Value = i.ToString() }); } var model = new Oasis.Models.EditRuleForDataModel { Id = data_rule.Id, ParentId = parentRule.Id, Expression = HttpUtility.HtmlDecode(data_rule.Expression), DataExplorationExpression = HttpUtility.HtmlDecode(data_rule.DataExplorationExpression), ExpressionToChange = HttpUtility.HtmlDecode(data_rule.ExpressionToChange), RegularExpressionToChange = HttpUtility.HtmlDecode(data_rule.RegularExpressionToChange), ChangeTo = HttpUtility.HtmlDecode(data_rule.ChangeTo), Tables = new List<SelectListItem>(), WorksheetsList = worksheetsList, DataExploration = Enum.GetName(typeof(DataExplorationEnums), data_rule.DataExploration), Cell = new Oasis.Models.CellModel { TableId = table.Name, Column = Convert.ToString(data_rule.Column), Worksheet = Convert.ToString(data_rule.Worksheet) }, IsUpdatindIndex = (data_rule.IsUpdatindIndex).ToString(), IsRegexpExpression = Convert.ToString(data_rule.IsRegexpExpression), IsChanging = Convert.ToString(data_rule.IsChanging), Status = data_rule.Status == null ? data_rule.Status = Model.Enums.RuleStatusEnums.Active.ToString() : data_rule.Status, ParsingMode = data_rule.ParsingMode, IsUpdatingRule = parentRule.IsUpdatingRule, Name = data_rule.Name, ColumnForUpdate = Convert.ToString(data_rule.ColumnForUpdate), ConsiderRegister = (data_rule.ConsiderRegister).ToString() }; model.Tables.Add(new SelectListItem { Text = CultureHelper.GetStringForCurentCulture("EmailController_AddNewDataRuleForEmails_Select_table"), Value = "-1" }); var tables = tablesRepository.FindAll(w => w.AspNetUsers.Id.Equals(demoHelper.userId)); if (tables.Any()) { foreach (var t in tables) { model.Tables.Add(new SelectListItem { Text = t.Name, Value = t.Id.ToString() }); } } return PartialView(model); } return RedirectToAction("ManageEmailParsingRules"); }