//public void ReorderPanels(bool addAfterIfOccurConflict = false) //{ // List<Panel> panels; // // add after : order by panelOrder and if has conflict, set the oldest first. // if (addAfterIfOccurConflict) // panels = this.Panels.OrderBy(one => one.PanelOrder).ThenBy(two => two.LastUpdateDate).ToList(); // // add before: order by panelOrder and if has conflict, set the newest first. // else // panels = this.Panels.OrderBy(one => one.PanelOrder).ThenByDescending(two => two.LastUpdateDate).ToList(); // var i = 1; // foreach (var panel in panels) // panel.PanelOrder = i++; //} public void ReorderPanel(Panel panelToOrder = null, int newOrder = 0) { var panels = this.Panels.OrderBy(one => one.PanelOrder).ToList(); if (panelToOrder != null) { panels.Remove(panelToOrder); if (newOrder <= panels.Count) panels.Insert(newOrder - 1, panelToOrder); else panels.Add(panelToOrder); } var i = 1; foreach (var panel in panels) panel.PanelOrder = i++; }
private PanelModel ConvertObjectDomainToModel(Panel panel, Dashboard dashboard) { var model = new PanelModel(); if (panel != null) { model.Title = panel.Title; model.Id = panel.Id; model.Dashboard = dashboard; model.PanelOrder = panel.PanelOrder; model.PanelWidth = panel.PanelWidth; model.PanelComponents = panel.PanelComponents; model.DisplayY = panel.DisplayY; model.GroupBy = panel.GroupBy; model.GroupByOrderBy = panel.GroupByOrderBy; model.GroupByOrderByClassification = panel.GroupByOrderByClassification; model.GroupByOrderByGroup = panel.GroupByOrderByGroup; model.GroupByOrderByGroupClassification = panel.GroupByOrderByGroupClassification; model.GroupBy2 = panel.GroupBy2; model.GroupByOrderBy2 = panel.GroupByOrderBy2; model.GroupByOrderByClassification2 = panel.GroupByOrderByClassification2; model.GroupByOrderByGroup2 = panel.GroupByOrderByGroup2; model.GroupByOrderByGroupClassification2 = panel.GroupByOrderByGroupClassification2; model.GroupBy3 = panel.GroupBy3; model.GroupByOrderBy3 = panel.GroupByOrderBy3; model.GroupByOrderByClassification3 = panel.GroupByOrderByClassification3; model.GroupByOrderByGroup3 = panel.GroupByOrderByGroup3; model.GroupByOrderByGroupClassification3 = panel.GroupByOrderByGroupClassification3; model.OrderBy = panel.Filter.OrderBy; model.OrderByClassification = panel.Filter.OrderByClassification; model.FilterTransactionType = panel.Filter.TransactionType; model.FilterDateStart = panel.Filter.DateStart; model.FilterDateEnd = panel.Filter.DateEnd; model.FilterValueStart = panel.Filter.ValueStart; model.FilterValueEnd = panel.Filter.ValueEnd; model.ViewName = panel.ViewName; model.Panel = panel; if (panel.Filter.Categories != null) model.FilterCategories = string.Join(",", panel.Filter.Categories); if (panel.Filter.SubCategories != null) model.FilterSubCategories = string.Join(",", panel.Filter.SubCategories); if (panel.Filter.Names != null) model.FilterTransactionNames = string.Join(",", panel.Filter.Names); } return model; }
private Panel ConvertModelToObjectDomain(PanelModel model) { var panel = new Panel(); panel.Title = model.Title; panel.PanelOrder = model.PanelOrder; panel.PanelWidth = model.PanelWidth; panel.PanelComponents = model.PanelComponents; panel.DisplayY = model.DisplayY; panel.GroupBy = model.GroupBy; panel.GroupByOrderBy = model.GroupByOrderBy; panel.GroupByOrderByClassification = model.GroupByOrderByClassification; panel.GroupByOrderByGroup = model.GroupByOrderByGroup; panel.GroupByOrderByGroupClassification = model.GroupByOrderByGroupClassification; panel.GroupBy2 = model.GroupBy2; panel.GroupByOrderBy2 = model.GroupByOrderBy2; panel.GroupByOrderByClassification2 = model.GroupByOrderByClassification2; panel.GroupByOrderByGroup2 = model.GroupByOrderByGroup2; panel.GroupByOrderByGroupClassification2 = model.GroupByOrderByGroupClassification2; panel.GroupBy3 = model.GroupBy3; panel.GroupByOrderBy3 = model.GroupByOrderBy3; panel.GroupByOrderByClassification3 = model.GroupByOrderByClassification3; panel.GroupByOrderByGroup3 = model.GroupByOrderByGroup3; panel.GroupByOrderByGroupClassification3 = model.GroupByOrderByGroupClassification3; //panel.OrderBy = model.OrderBy; //panel.OrderByClassification = model.OrderByClassification; panel.Filter = new TransactionFilter(); panel.Filter.TransactionType = model.FilterTransactionType; panel.Filter.DateStart = model.FilterDateStart; panel.Filter.DateEnd = model.FilterDateEnd; panel.Filter.ValueStart = model.FilterValueStart; panel.Filter.ValueEnd = model.FilterValueEnd; panel.ViewName = model.ViewName; // depois tenho que apagar o orderby e orderbyclassification panel.Filter.OrderBy = model.OrderBy; panel.Filter.OrderByClassification = model.OrderByClassification; if (!string.IsNullOrWhiteSpace(model.FilterCategories)) { panel.Filter.Categories = new List<string>(); panel.Filter.Categories = model.FilterCategories.Split(',').Select(s => s.Trim()).ToList(); } if (!string.IsNullOrWhiteSpace(model.FilterSubCategories)) { panel.Filter.SubCategories = new List<string>(); panel.Filter.SubCategories = model.FilterSubCategories.Split(',').Select(s => s.Trim()).ToList(); } if (!string.IsNullOrWhiteSpace(model.FilterTransactionNames)) { panel.Filter.Names = new List<string>(); panel.Filter.Names = model.FilterTransactionNames.Split(',').Select(s => s.Trim()).ToList(); } return panel; }