Beispiel #1
0
        public IList <AlgorithmDataModel> ConstructData(IList <Request> requestList, IRequestUow Uow)
        {
            IList <AlgorithmDataModel> data = new List <AlgorithmDataModel>();

            foreach (var row in requestList)
            {
                var temp = new AlgorithmDataModel();
                temp.Id = row.Id;
                temp.PrasymoPateikimoData = row.PrasymoPateikimoData;
                temp.VaikoId         = row.VaikoId;
                temp.VaikoIDNF       = row.VaikoIDNF;
                temp.VaikoGimimoData = row.VaikoGimimoData;
                temp.LankymoData     = row.LankymoData;
                temp.VaikoSeniunija  = row.VaikoSeniunija;
                temp.Prioritetas_DeklaruotasMiestas    = row.Prioritetas_DeklaruotasMiestas;
                temp.Prioritetas_3_ar_Daugiau_Vaiku    = row.Prioritetas_3_ar_Daugiau_Vaiku;
                temp.Prioritetas_seimosdarbingumoLygis = row.Prioritetas_seimosdarbingumoLygis;
                temp.Prioritetas_auginaTikVienasTevas  = row.Prioritetas_auginaTikVienasTevas;

                IList <RequestInfo> GetInfoListById = Uow.RequestInfo.GetAll().ToList().Where(x => x.RequestIdRef == row.Id).ToList().OrderBy(z => z.DarzelioEilesPrioritetas).ToList();

                temp.PasirinktasDarzelis_1 = GetInfoListById[0].PasirinktasDarzelis;
                temp.PreSchool1            = Uow.Schools.GetById(GetInfoListById[0].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_1  = GetInfoListById[0].UzpildytasDarzelis;
                temp.PreRequestSchool1     = Uow.PreRequestSchool.GetById(GetInfoListById[0].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_2 = GetInfoListById[1].PasirinktasDarzelis;
                temp.PreSchool2            = Uow.Schools.GetById(GetInfoListById[1].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_2  = GetInfoListById[1].UzpildytasDarzelis;
                temp.PreRequestSchool2     = Uow.PreRequestSchool.GetById(GetInfoListById[1].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_3 = GetInfoListById[2].PasirinktasDarzelis;
                temp.PreSchool3            = Uow.Schools.GetById(GetInfoListById[2].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_3  = GetInfoListById[2].UzpildytasDarzelis;
                temp.PreRequestSchool3     = Uow.PreRequestSchool.GetById(GetInfoListById[2].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_4 = GetInfoListById[3].PasirinktasDarzelis;
                temp.PreSchool4            = Uow.Schools.GetById(GetInfoListById[3].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_4  = GetInfoListById[3].UzpildytasDarzelis;
                temp.PreRequestSchool4     = Uow.PreRequestSchool.GetById(GetInfoListById[3].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_5 = GetInfoListById[4].PasirinktasDarzelis;
                temp.PreSchool5            = Uow.Schools.GetById(GetInfoListById[4].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_5  = GetInfoListById[4].UzpildytasDarzelis;
                temp.PreRequestSchool5     = Uow.PreRequestSchool.GetById(GetInfoListById[4].UzpildytasDarzelis.Value);


                temp.PrioritetuSuma   = row.PrioritetuSuma;
                temp.Accepted         = row.Accepted;
                temp.PriimtasDarzelis = row.PriimtasDarzelis;
                data.Add(temp);
            }
            return(data);
        }
Beispiel #2
0
        public string Teach(AlgorithmDataModel teachingData)
        {
            DataSet dataSet;
            var     files     = teachingData.Files.Select(i => teachingData.Directory + i).ToArray();
            var     forgeries = teachingData.Forgeries?.Select(i => teachingData.ForgeriesDirectory + i).ToArray();

            switch (teachingData.FeatureAlgorithmName)
            {
            case "RadonTransformFeatureExtractor":
                _extractor = new RadonTransformFeatureExtractor(int.Parse(teachingData.FeatureAlgorithmParameters[0]));
                dataSet    = _extractor.GetTeachingDataset(files, forgeries);
                break;

            default:
                throw new ArgumentException("FeatureAlgorithmName");
            }

            switch (teachingData.ComputingAlgorithmName)
            {
            case "NeuralNetworkBp":
                _engine = new NeuralNetworkBp(double.Parse(teachingData.ComputingAlgorithmParameters[0].Replace(".", ",")),
                                              double.Parse(teachingData.ComputingAlgorithmParameters[1].Replace(".", ",")));
                _engine.Train(dataSet);
                break;

            case "EncogNeuralNetwork":
                _engine = new EncogNeuralNetwork(double.Parse(teachingData.ComputingAlgorithmParameters[0].Replace(".", ",")),
                                                 double.Parse(teachingData.ComputingAlgorithmParameters[1].Replace(".", ",")));
                _engine.Train(dataSet);
                break;

            default:
                throw new ArgumentException("ComputingAlgorithmName");
            }

            return("OK");
        }
Beispiel #3
0
        public void get(IRequestUow Uow)
        {
            var AllPreSchoolRequest = Uow.PreRequestSchool.GetAll().ToList();

            foreach (var preRequest in AllPreSchoolRequest)
            {
                int suma = 0;
                if (preRequest.AtitinkaDarzelioPriskirtaTeritorija == true)
                {
                    suma++;
                }
                if (preRequest.DarzeliLankoBrolysSeserys == true)
                {
                    suma++;
                }
                if (preRequest.TinkamaGrupeDarzelyje == true)
                {
                    suma++;
                }
                PreRequestSchool update = Uow.PreRequestSchool.GetById(preRequest.Id);
                update.DarzelisPrioritetuSuma = suma;
                Uow.PreRequestSchool.Update(update);
            }
            IList <Request>            requestList = Uow.Requests.GetAllIncludeRequest().ToList().Where(x => x.Accepted == false && x.LankymoData == LankymoData).ToList();
            IList <AlgorithmDataModel> data        = ConstructData(requestList, Uow);

            AllRequests = data;

            foreach (var request in AllRequests)
            {
                int suma = 0;
                if (request.Prioritetas_3_ar_Daugiau_Vaiku == true)
                {
                    suma++;
                }
                if (request.Prioritetas_auginaTikVienasTevas == true)
                {
                    suma++;
                }
                if (request.Prioritetas_DeklaruotasMiestas == true)
                {
                    suma++;
                }
                if (request.Prioritetas_seimosdarbingumoLygis == true)
                {
                    suma++;
                }

                Request update = Uow.Requests.GetById(request.Id);
                update.PrioritetuSuma    = suma;
                update.Accepted          = false;
                update.PreSchoolAccepted = null;
                update.PriimtasDarzelis  = null;
                Uow.Requests.Update(update);

                request.PrioritetuSuma    = suma;
                request.Accepted          = false;
                request.PreSchoolAccepted = null;
                request.PriimtasDarzelis  = null;
            }
            AllSchools = Uow.Schools.GetAll().ToList();
            var selected1 = AllRequests.Select(x => x.PasirinktasDarzelis_1).Distinct().ToList();
            var selected2 = AllRequests.Select(x => x.PasirinktasDarzelis_2).Where(x => !selected1.Contains(x)).Distinct().ToList();
            var selected3 = AllRequests.Select(x => x.PasirinktasDarzelis_3).Where(x => !selected1.Contains(x) && !selected2.Contains(x)).Distinct().ToList();
            var selected4 = AllRequests.Select(x => x.PasirinktasDarzelis_4).Where(x => !selected1.Contains(x) && !selected2.Contains(x) && !selected3.Contains(x)).Distinct().ToList();
            var selected5 = AllRequests.Select(x => x.PasirinktasDarzelis_5).Where(x => !selected1.Contains(x) && !selected2.Contains(x) && !selected3.Contains(x) && !selected4.Contains(x)).Distinct().ToList();

            process(selected1, Uow);
            IList <Request>            requestList11 = Uow.Requests.GetAllIncludeRequest().ToList();
            IList <AlgorithmDataModel> data11        = ConstructData(requestList11, Uow);

            AllRequests = data11.Where(x => x.Accepted == false).ToList();
            if (selected2.Count != 0)
            {
                process(selected2, Uow);
            }
            IList <Request>            requestList12 = Uow.Requests.GetAllIncludeRequest().ToList();
            IList <AlgorithmDataModel> data12        = ConstructData(requestList12, Uow);

            AllRequests = data12.Where(x => x.Accepted == false).ToList();
            if (selected3.Count != 0)
            {
                process(selected3, Uow);
            }
            IList <Request>            requestList13 = Uow.Requests.GetAllIncludeRequest().ToList();
            IList <AlgorithmDataModel> data13        = ConstructData(requestList13, Uow);

            AllRequests = data13.Where(x => x.Accepted == false).ToList();
            if (selected4.Count != 0)
            {
                process(selected4, Uow);
            }
            IList <Request>            requestList14 = Uow.Requests.GetAllIncludeRequest().ToList();
            IList <AlgorithmDataModel> data14        = ConstructData(requestList14, Uow);

            AllRequests = data14.Where(x => x.Accepted == false).ToList();
            if (selected5.Count != 0)
            {
                process(selected5, Uow);
            }
            IList <Request>            requestList15 = Uow.Requests.GetAllIncludeRequest().ToList();
            IList <AlgorithmDataModel> data15        = new List <AlgorithmDataModel>();

            foreach (var row in requestList15)
            {
                var temp = new AlgorithmDataModel();
                temp.Id = row.Id;
                temp.PrasymoPateikimoData = row.PrasymoPateikimoData;
                temp.VaikoId         = row.VaikoId;
                temp.VaikoIDNF       = row.VaikoIDNF;
                temp.VaikoGimimoData = row.VaikoGimimoData;
                temp.LankymoData     = row.LankymoData;
                temp.VaikoSeniunija  = row.VaikoSeniunija;
                temp.Prioritetas_DeklaruotasMiestas    = row.Prioritetas_DeklaruotasMiestas;
                temp.Prioritetas_3_ar_Daugiau_Vaiku    = row.Prioritetas_3_ar_Daugiau_Vaiku;
                temp.Prioritetas_seimosdarbingumoLygis = row.Prioritetas_seimosdarbingumoLygis;
                temp.Prioritetas_auginaTikVienasTevas  = row.Prioritetas_auginaTikVienasTevas;

                IList <RequestInfo> GetInfoListById = Uow.RequestInfo.GetAll().ToList().Where(x => x.RequestIdRef == row.Id).ToList().OrderBy(z => z.DarzelioEilesPrioritetas).ToList();

                temp.PasirinktasDarzelis_1 = GetInfoListById[0].PasirinktasDarzelis;
                temp.PreSchool1            = Uow.Schools.GetById(GetInfoListById[0].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_1  = GetInfoListById[0].UzpildytasDarzelis;
                temp.PreRequestSchool1     = Uow.PreRequestSchool.GetById(GetInfoListById[0].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_2 = GetInfoListById[1].PasirinktasDarzelis;
                temp.PreSchool2            = Uow.Schools.GetById(GetInfoListById[1].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_2  = GetInfoListById[1].UzpildytasDarzelis;
                temp.PreRequestSchool2     = Uow.PreRequestSchool.GetById(GetInfoListById[1].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_3 = GetInfoListById[2].PasirinktasDarzelis;
                temp.PreSchool3            = Uow.Schools.GetById(GetInfoListById[2].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_3  = GetInfoListById[2].UzpildytasDarzelis;
                temp.PreRequestSchool3     = Uow.PreRequestSchool.GetById(GetInfoListById[2].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_4 = GetInfoListById[3].PasirinktasDarzelis;
                temp.PreSchool4            = Uow.Schools.GetById(GetInfoListById[3].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_4  = GetInfoListById[3].UzpildytasDarzelis;
                temp.PreRequestSchool4     = Uow.PreRequestSchool.GetById(GetInfoListById[3].UzpildytasDarzelis.Value);

                temp.PasirinktasDarzelis_5 = GetInfoListById[4].PasirinktasDarzelis;
                temp.PreSchool5            = Uow.Schools.GetById(GetInfoListById[4].PasirinktasDarzelis.Value);
                temp.UzpildytasDarzelis_5  = GetInfoListById[4].UzpildytasDarzelis;
                temp.PreRequestSchool5     = Uow.PreRequestSchool.GetById(GetInfoListById[4].UzpildytasDarzelis.Value);


                temp.PrioritetuSuma   = row.PrioritetuSuma;
                temp.Accepted         = row.Accepted;
                temp.PriimtasDarzelis = row.PriimtasDarzelis;
                if (row.PriimtasDarzelis.HasValue && row.Accepted)
                {
                    temp.PreSchoolAccepted = Uow.Schools.GetById(row.PriimtasDarzelis.Value);
                }
                data15.Add(temp);
            }
            AllRequests         = data15;
            AllRequests         = AllRequests.OrderByDescending(p => p.PrioritetuSuma).ToList();
            AllDeclinedRequests = AllRequests.Where(x => x.Accepted == false).ToList();
            AllAcceptedRequests = AllRequests.Where(x => x.Accepted == true).ToList();
        }