public int AddPolicy(travel_policy TravelPolicy) { TravelPolicy.Payment_Status = false; _db.travel_policy.Add(TravelPolicy); _db.SaveChanges(); return(TravelPolicy.ID); }
public async System.Threading.Tasks.Task <ActionResult> CreatePolicy(Policy policy) { ValidationService validationService = new ValidationService(); RatingEngineService ratingEngineService = new RatingEngineService(); travel_policy polisaEntity = new travel_policy(); Uri uri = new Uri(ConfigurationManager.AppSettings["webpage_url"] + "/api/premium/calculate"); HttpClient client = new HttpClient(); client.BaseAddress = uri; var mediaType = new MediaTypeHeaderValue("application/json"); var jsonFormatter = new JsonMediaTypeFormatter(); HttpContent content = new ObjectContent <Policy>(policy, jsonFormatter); HttpResponseMessage responseMessage = client.PostAsync(uri, content).Result; string responseBody = await responseMessage.Content.ReadAsStringAsync(); dynamic data = JObject.Parse(responseBody); int premium = data.PremiumAmount; bool valid = validationService.masterValidate(polisaEntity); double?vkupnaPremija = ratingEngineService.totalPremium(policy); policy.Total_Premium = vkupnaPremija; System.Web.HttpContext.Current.Session.Add("SessionId", policy.Policy_Number); if (valid) { string PolicyNumber = _ps.CreatePolicyNumber(); string ID_Company = _ps.GetCompanyID(policy.Policy_Number); int tempID; if (String.IsNullOrEmpty(ID_Company)) { tempID = 0; } else { string ID_trim = ID_Company.Substring(0, 4); string ID_trim2 = ID_Company.Substring(5); tempID = int.Parse(ID_trim2) + 1; } polisaEntity.Policy_Number = PolicyNumber; polisaEntity.Policy_TypeID = policy.Policy_TypeID; polisaEntity.CountryID = policy.CountryID; polisaEntity.Start_Date = policy.Start_Date; polisaEntity.End_Date = policy.End_Date; polisaEntity.Valid_Days = policy.Valid_Days; polisaEntity.Travel_Insurance_TypeID = policy.Travel_Insurance_TypeID; polisaEntity.Travel_NumberID = policy.Travel_NumberID; polisaEntity.Exchange_RateID = (policy.Exchange_RateID.HasValue)? policy.Exchange_RateID.Value : 1; var result = _ps.AddPolicy(polisaEntity); } return(Json(new { success = true, responseText = "Success." }, JsonRequestBehavior.AllowGet)); }
public JsonWrapperPolicyFirstNoticeOfLossViewModel(travel_policy policy, List <bank_prefix> bankPrefixes) { //PolicyHolder = Mapper.Map<insured, ClientViewModel>(policy.insured); PolicyHolder = new ClientViewModel { Id = policy.insured.ID, FirstName = policy.insured.Name, Lastname = policy.insured.Lastname, SSN = policy.insured.SSN, Address = policy.insured.Address, City = policy.insured.City, Email = policy.insured.Email, PhoneNumber = policy.insured.Phone_Number }; foreach (var policyInsured in policy.policy_insured) { PolicyClients.Add(new ClientViewModel { Id = policyInsured.insured.ID, FirstName = policyInsured.insured.Name, Lastname = policyInsured.insured.Lastname }); } foreach (var bankPrefix in bankPrefixes) { BankPrefixes.Add(new BankPrefixViewModel { Prefix = bankPrefix.Prefix_Number, BankName = bankPrefix.bank.Name }); } //foreach (var bankAccountInfo in policy.insured.bank_account_info) //{ // PolicyHolderBankAccounts.Add(new BankAccountInfoViewModel // { // Id = bankAccountInfo.ID, // BankName = bankAccountInfo.bank.Name, // AccountNumber = bankAccountInfo.Account_Number // }); //} }
public bool masterValidate(travel_policy policy) { if (!validateEMBG(policy.aspnetuser.EMBG)) { return(false); } if (!validateDates(policy.Start_Date, policy.End_Date)) { return(false); } if ( !validateInsuredDays(policy.Start_Date, policy.End_Date, policy.Valid_Days, policy.travel_insurance_type.Name)) { return(false); } if (!validateAge(policy.Start_Date, policy.aspnetuser.EMBG, policy.policy_type.type)) { return(false); } return(true); }
public static int SaveDetailFirstNoticeOdLoss(DetailFirstNoticeOfLossViewModel addDetailLoss, travel_policy policy, IFirstNoticeOfLossService _fis, IAdditionalInfoService _ais, IBankAccountService _bas) { try { var loss = _fis.Create(); loss.PolicyId = policy.ID; loss.ClaimantId = addDetailLoss.Claimant_ID; loss.Relation_claimant_policy_holder = addDetailLoss.RelationClaimantPolicyHolder; loss.Destination = addDetailLoss.Destination; loss.Depart_Date_Time = addDetailLoss.Depart_Date_Time; loss.Arrival_Date_Time = addDetailLoss.Arrival_Date_Time; loss.Transport_means = addDetailLoss.Transport_means; loss.Total_cost = addDetailLoss.Total_cost; loss.CreatedDateTime = DateTime.UtcNow; loss.FNOL_Number = _fis.CreateFNOLNumber(); //loss.Message = ""; loss.CreatedBy = addDetailLoss.CreatedBy; //additional info var additionalInfo = _ais.Create(); additionalInfo.Accident_place = addDetailLoss.Accident_place; additionalInfo.Datetime_accident = addDetailLoss.Datetime_accident; var additionalInfoID = _ais.Add(additionalInfo); loss.Additional_infoID = additionalInfoID; //bank accounts for policy holder var holderBankAccountsExist = _bas.CheckIfBankAccountExist(addDetailLoss.Policy_HolderID, addDetailLoss.PolicyHolder_BankAccount, addDetailLoss.PolicyHolder_BankID); if (!holderBankAccountsExist) { var bankAccount = new bank_account_info(); bankAccount.Account_HolderID = addDetailLoss.Policy_HolderID; bankAccount.BankID = addDetailLoss.PolicyHolder_BankID; bankAccount.Account_Number = addDetailLoss.PolicyHolder_BankAccount; var policyHolerBankAccount = _bas.AddBankAccountInfo(bankAccount); loss.Policy_holder_bank_accountID = policyHolerBankAccount; } else { var policyHolderBankAccount = _bas.GetBankAccountInfo(addDetailLoss.Policy_HolderID, addDetailLoss.PolicyHolder_BankAccount, addDetailLoss.PolicyHolder_BankID); loss.Policy_holder_bank_accountID = policyHolderBankAccount.ID; } //bank accounts for claimant var claimantBankAccountsExist = _bas.CheckIfBankAccountExist(addDetailLoss.Claimant_ID, addDetailLoss.Claimant_BankAccount, addDetailLoss.Claimant_BankID); if (!claimantBankAccountsExist) { var bankAccount = new bank_account_info(); bankAccount.Account_HolderID = addDetailLoss.Claimant_ID; bankAccount.BankID = addDetailLoss.Claimant_BankID; bankAccount.Account_Number = addDetailLoss.Claimant_BankAccount; var claimantBankAccount = _bas.AddBankAccountInfo(bankAccount); loss.Claimant_bank_accountID = claimantBankAccount; } else { var claimantBankAccount = _bas.GetBankAccountInfo(addDetailLoss.Claimant_ID, addDetailLoss.Claimant_BankAccount, addDetailLoss.Claimant_BankID); loss.Claimant_bank_accountID = claimantBankAccount.ID; } var lossID = _fis.Add(loss); if (addDetailLoss.HealthInsurance_Y_N.Equals("Y")) { var healthInsuranceInfo = new health_insurance_info { Additional_infoId = additionalInfoID, additional_info = additionalInfo, Datetime_doctor_visit = addDetailLoss.Datetime_doctor_visit, Doctor_info = addDetailLoss.Doctor_info, Medical_case_description = addDetailLoss.Medical_case_description, Previous_medical_history = addDetailLoss.Previous_medical_history, Responsible_institution = addDetailLoss.Responsible_institution }; _ais.AddHealthInsuranceInfo(healthInsuranceInfo); } else if (addDetailLoss.LuggageInsurance_Y_N.Equals("Y")) { float floaterValue = 0; float.TryParse(addDetailLoss.Floaters_value, out floaterValue); var luggageInsuranceInfo = new luggage_insurance_info { Additional_infoId = additionalInfoID, additional_info = additionalInfo, Place_description = addDetailLoss.Place_description, Detail_description = addDetailLoss.Detail_description, Report_place = addDetailLoss.Report_place, Floaters = addDetailLoss.Floaters, Floaters_value = floaterValue, Luggage_checking_Time = addDetailLoss.Luggage_checking_Time ?? new TimeSpan(0, 0, 0) }; _ais.AddLuggageInsuranceInfo(luggageInsuranceInfo); } return(lossID); } catch (Exception e) { return(-1); } }
public async Task <ActionResult> Preview(int policyId) { travel_policy policy = _ps.GetPolicyById(policyId); insured policyHolder = _ps.GetPolicyHolderByPolicyID(policyId); List <insured> insureds = _pis.GetAllInsuredByPolicyId(policyId); List <additional_charge> additionalCharges = _acs.GetAdditionalChargesByPolicyId(policyId); Policy policyPreview = new Policy { Policy_Number = policy.Policy_Number, PaymentStatys = policy.Payment_Status == true ? 1 : 0, Exchange_RateID = policy.Exchange_RateID, CountryID = policy.CountryID, Policy_TypeID = policy.Policy_TypeID, IsSamePolicyHolderInsured = policy.Policy_HolderID == policy.insured.ID, Date_Created = policy.Date_Created, Created_By = policy.Created_By, Start_Date = policy.Start_Date, End_Date = policy.End_Date, Valid_Days = policy.Valid_Days, Travel_NumberID = policy.Travel_NumberID, Total_Premium = policy.Total_Premium, PolicyHolderId = policy.Policy_HolderID, PolicyHolderName = policyHolder.Name, PolicyHolderAddress = policyHolder.Address, PolicyHolderBirthDate = policyHolder.DateBirth, PolicyHolderCity = policyHolder.City, PolicyHolderEmail = policyHolder.Email, PolicyHolderLastName = policyHolder.Lastname, PolicyHolderPassportNumber_ID = policyHolder.Passport_Number_IdNumber, PolicyHolderPhoneNumber = policyHolder.Phone_Number, PolicyHolderPostalCode = policyHolder.Postal_Code, PolicyHolderSSN = policyHolder.SSN, insureds = insureds, additional_charges = additionalCharges, Address = insureds[0].Address, Name = insureds[0].Name, LastName = insureds[0].Lastname, City = insureds[0].City, PostalCode = insureds[0].Postal_Code, BirthDate = insureds[0].DateBirth, SSN = insureds[0].SSN, Email = insureds[0].Email, PhoneNumber = insureds[0].Phone_Number, PassportNumber_ID = insureds[0].Passport_Number_IdNumber }; var type_policies = GetTypeOfPolicy(); var countries = GetTypeOfCountry(); var franchises = GetTypeOfFranchise(); var additional_charges = GetTypeOfAdditionalCharges(); await Task.WhenAll(type_policies, countries, franchises, additional_charges); ViewBag.TypeOfPolicy = type_policies.Result; ViewBag.Countries = countries.Result; ViewBag.Franchise = franchises.Result; ViewBag.additional_charges = additional_charges.Result; ViewBag.Doplatok1 = 0; ViewBag.Doplatok2 = 0; if (additionalCharges.Count >= 1 && additionalCharges[0] != null) { if (additionalCharges[0].ID == 2) { ViewBag.Doplatok1 = 1; } } if (additionalCharges.Count >= 2 && additionalCharges[1] != null) { if (additionalCharges[1].ID == 3) { ViewBag.Doplatok2 = 1; } } ViewBag.DisableDefault = true; return(View(policyPreview)); }