private Domain.Dashboards.Filter parseFilter(string filterS, FilterType type) { Domain.Dashboards.Filter filter = null; if (filterS != "geen") { bool isPositive; if (filterS == "Positief") { isPositive = true; } else if (filterS == "Negatief") { isPositive = false; } else { return(null); } filter = new Domain.Dashboards.Filter() { Type = type, IsPositive = isPositive }; } return(filter); }
private List <DataConfig> filterConfigs(List <DataConfig> dataConfigs, FilterType type, string waarde) { if (waarde == "Geen" || waarde == "" || waarde == null) { return(dataConfigs); } Domain.Dashboards.Filter positiveFilter = new Domain.Dashboards.Filter() { IsPositive = true, Type = type }; Domain.Dashboards.Filter negativeFilter = new Domain.Dashboards.Filter() { IsPositive = false, Type = type }; List <DataConfig> allConfigs = new List <DataConfig>(); int id = 0; foreach (DataConfig dataconfig in dataConfigs) { DataConfig positivedataConfig = new DataConfig() { Element = dataconfig.Element, Filters = dataconfig.Filters, Label = dataconfig.Label, Vergelijking = dataconfig.Vergelijking };; DataConfig negativedataConfig = new DataConfig() { Element = dataconfig.Element, Filters = dataconfig.Filters, Label = dataconfig.Label, Vergelijking = dataconfig.Vergelijking };; positivedataConfig.Filters.Add(positiveFilter); positivedataConfig.DataConfiguratieId = id; id++; negativedataConfig.Filters.Add(negativeFilter); negativedataConfig.DataConfiguratieId = id; id++; if (waarde == "Splits") { allConfigs.Add(negativedataConfig); allConfigs.Add(positivedataConfig); } else if (waarde == "Positief") { allConfigs.Add(positivedataConfig); } else if (waarde == "Negatief") { allConfigs.Add(negativedataConfig); } } return(allConfigs); }
private Alert ParseFormToAlert(FormCollection form, UnitOfWorkManager unitOfWorkManager) { IElementManager elementManager = new ElementManager(unitOfWorkManager); IDashboardManager dashboardManager = new DashboardManager(unitOfWorkManager); string username = System.Web.HttpContext.Current.User.Identity.GetUserName(); Dashboard dashboard = dashboardManager.getDashboard(username, Deelplatform.Naam); //Element & vergelijkingselement ophalen Element element = elementManager.getElementByNaam(form["element"], Deelplatform); Element vergelijkingselement = elementManager.getElementByNaam(form["vergelijking"], Deelplatform); //OverschrijdingsWaarde Parsen int waarde = 0; int.TryParse(form["waarde"], out waarde); //DefaultWaarde voor Datatype en Datatype Parsen DataType bewerking = DataType.TOTAAL; var formbewerking = form["bewerking"].ToLower(); switch (formbewerking) { case "totaal": bewerking = DataType.TOTAAL; break; case "percentage": bewerking = DataType.PERCENTAGE; break; default: break; } //Operator Parsen var operatorS = ""; var formOperator = form["operator"].ToLower(); switch (formOperator) { case "stijging": operatorS = ">"; break; case "daling": operatorS = "<"; break; default: break; } //Meldingen Parsen bool emailMelding = parseCheckbox(form["emailMelding"]); bool browserMelding = parseCheckbox(form["browserMelding"]); bool applicatieMelding = parseCheckbox(form["applicatieMelding"]); //Filters Parsen List <Domain.Dashboards.Filter> filters = new List <Domain.Dashboards.Filter>(); Domain.Dashboards.Filter filter = parseFilter(form["Age"], FilterType.AGE); if (filter != null) { filters.Add(filter); } filter = parseFilter(form["Sentiment"], FilterType.SENTIMENT); if (filter != null) { filters.Add(filter); } filter = parseFilter(form["Retweet"], FilterType.RETWEET); if (filter != null) { filters.Add(filter); } filter = parseFilter(form["Geslacht"], FilterType.GESLACHT); if (filter != null) { filters.Add(filter); } filter = parseFilter(form["Opleiding"], FilterType.OPLEIDING); if (filter != null) { filters.Add(filter); } filter = parseFilter(form["Personaliteit"], FilterType.PERSONALITEIT); if (filter != null) { filters.Add(filter); } //Dataconfig DataConfig dataConfig = new DataConfig() { Element = element, Vergelijking = vergelijkingselement, Filters = filters }; //Alert configureren Alert alert = new Alert() { DataConfig = dataConfig, DataType = bewerking, Operator = operatorS, ApplicatieMelding = applicatieMelding, BrowserMelding = browserMelding, EmailMelding = emailMelding, Dashboard = dashboard, Meldingen = new List <Melding>(), Waarde = waarde, Status = AlertStatus.ACTIEF }; return(alert); }