Пример #1
0
        public static string BM(string companyName, string middlemanName)
        {
            int idCompany, idMiddleman, idCompanyMiddleman;

            try
            {
                idCompany          = CompanyDataManipulation.GetId(companyName);
                idMiddleman        = MiddlemanDataManipulation.GetId(middlemanName);
                idCompanyMiddleman = CompanyMiddlemanDataManipulation.GetId(companyName, middlemanName);
            }
            catch
            {
                responseToClient.responseType = ResponseType.Bad;
                responseToClient.responseText = "Виникли проблеми з отриманням даних.";
                return(js.Serialize(responseToClient));
            }

            List <BonusMalus>    BMRecords = BonusMalusDataManipulation.GetMulti(idCompanyMiddleman);
            List <TableBMToSend> BMTable   = new List <TableBMToSend>();

            //Uncomment for auto generate conditions
            //ConditionGeneration.BM(idCompanyMiddleman);
            //BMRecords = BMDataManipulation.GetMulti(idCompanyMiddleman);

            BMRecords = BonusMalusDataManipulation.GetMulti(idCompanyMiddleman);

            foreach (var k in BMRecords)
            {
                TableBMToSend tempTableRow = new TableBMToSend();
                tempTableRow.CarZoneOfRegistration = InsuranceZoneOfRegistrationDataManipulation.GetInsuranceZoneOfRegistrationStr(k.IdInsuranceZoneOfReg);
                tempTableRow.IsLegalEntity         = k.IsLegalEntity ? "Юр" : "Фіз";
                tempTableRow.InsuranceTypeOfCar    = CarInsuranceTypeDataManipulation.GetCarInsuranceTypeStr((int)k.IdCarInsuranceType);
                tempTableRow.Franchise             = FranchiseDataManipulation.GetFranchiseSum(k.ContractFranchise.IdFranchise);
                tempTableRow.Value = k.Value;
                BMTable.Add(tempTableRow);
            }

            List <TitlesToSend> titles = new List <TitlesToSend>();

            titles.Add(FillTitleToSend(name: "CarZoneOfRegistration", titleUkr: "Зона регестрації", titleRus: "Зона регистрации"));
            titles.Add(FillTitleToSend(name: "IsLegalEntity", titleUkr: "Юр / Фіз", titleRus: "Юр / Физ"));
            titles.Add(FillTitleToSend(name: "InsuranceTypeOfCar", titleUkr: "Тип транспорту", titleRus: "Тип транспорта"));
            titles.Add(FillTitleToSend(name: "Franchise", titleUkr: "Франшиза", titleRus: "Франшиза"));
            titles.Add(FillTitleToSend(name: "Value", titleUkr: "Значення", titleRus: "Значение"));

            Dictionary <string, object> dataToSend = new Dictionary <string, object>();

            dataToSend.Add("titles", titles);
            dataToSend.Add("data", BMTable);

            return(js.Serialize(dataToSend));
        }
Пример #2
0
        public static string BM(int idCompanyMiddleman)
        {
            int idContractType = 0, idCompanyContractType = 0;
            List <Franchise> franchise = new List <Franchise>();
            List <InsuranceZoneOfRegistration> insuranceZoneOfReg = new List <InsuranceZoneOfRegistration>();
            List <bool>             isLegal            = new List <bool>();
            List <CarInsuranceType> insuranceTypeOfCar = new List <CarInsuranceType>();

            try
            {
                idContractType        = ContractTypeDataManipulation.GetId("ГО");
                idCompanyContractType = CompanyContractTypeDataManipulation.GetId(idCompanyMiddleman, idContractType);
                franchise             = FranchiseDataManipulation.GetFranchises(ContractFranchiseDataManipulation.GetFranchiseIds(idCompanyContractType));
                insuranceZoneOfReg    = InsuranceZoneOfRegistrationDataManipulation.GetMulti();
                isLegal = new List <bool> {
                    true, false
                };
                insuranceTypeOfCar = CarInsuranceTypeDataManipulation.GetMulti();
            }
            catch
            {
                responseToClient.responseType = ResponseType.Bad;
                responseToClient.responseText = "Виникла помилка при генерації умов.";
                return(js.Serialize(responseToClient));
            }

            foreach (var izor in insuranceZoneOfReg)
            {
                foreach (var il in isLegal)
                {
                    foreach (var itoc in insuranceTypeOfCar)
                    {
                        foreach (var f in franchise)
                        {
                            var idContractFranchise = ContractFranchiseDataManipulation.GetId(idCompanyContractType, f.Id);

                            if (BonusMalusDataManipulation.IsConditionExist(izor.Id, il, itoc.Id, idContractFranchise, idCompanyContractType, idCompanyMiddleman))
                            {
                                var newRowBM = new BonusMalus()
                                {
                                    IdInsuranceZoneOfReg = izor.Id,
                                    IsLegalEntity        = il,
                                    IdCarInsuranceType   = itoc.Id,
                                    IdContractFranchise  = idContractFranchise,
                                    Value = 0,
                                    IdCompanyMiddleman = idCompanyMiddleman,
                                };

                                try
                                {
                                    BonusMalusDataManipulation.Insert(newRowBM);
                                }
                                catch
                                {
                                    responseToClient.responseType = ResponseType.Bad;
                                    responseToClient.responseText = $"Виникла помилка при генерації запису для умов: \"{izor.Name}\"; \"{il}\"; \"{itoc.Type}\"; \"{f.Sum}\".";
                                    return(js.Serialize(responseToClient));
                                }
                            }
                        }
                    }
                }
            }

            responseToClient.responseType = ResponseType.Good;
            responseToClient.responseText = "Генерація даних пройшла успішно.";
            return(js.Serialize(responseToClient));
        }