Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
        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");
        }