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);
 }
예제 #2
0
        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);
        }