Exemplo n.º 1
0
        /// <summary>
        /// Get the schedule for specific insurance type (Motor or Home or Travel or Domestic)
        /// </summary>
        /// <param name="request">Schedule request.</param>
        /// <returns>Schedule file path.</returns>
        public DownloadScheduleResponse GetScheduleFilePath(DownloadScheuleRequest request)
        {
            try
            {
                string FilePath = string.Empty;

                if (request.InsuranceType == Constants.Insurance.Travel)
                {
                    TravelInsurance travel = new TravelInsurance();
                    TravelSavedQuotationResponse travelresult = travel.GetSavedQuotationByPolicy(request.DocNo, "portal", request.AgentCode,
                                                                                                 request.IsEndorsement, request.EndorsementID);
                    FilePath = this.CreateTravelSchudles(travelresult, false);
                }
                else if (request.InsuranceType == Constants.Insurance.Motor)
                {
                    MotorInsurance motor = new MotorInsurance();
                    MotorSavedQuotationResponse motorresult = motor.GetSavedMotorPolicy(request.DocNo, "", request.AgentCode,
                                                                                        request.IsEndorsement, request.EndorsementID, request.RenewalCount);
                    FilePath = this.CreateMotorSchudles(motorresult.MotorPolicyDetails, false);
                }
                else if (request.InsuranceType == Constants.Insurance.DomesticHelp)
                {
                    DomesticHelp domestic = new DomesticHelp();
                    DomesticHelpSavedQuotationResponse domesticresult = domestic.GetSavedDomesticPolicy(request.DocNo, request.AgentCode,
                                                                                                        request.IsEndorsement, request.EndorsementID);
                    FilePath = this.CreateDomesticSchudles(domesticresult, false);
                }
                else
                {
                    HomeInsurance home = new HomeInsurance();
                    HomeSavedQuotationResponse homeresult = home.GetSavedQuotationPolicy(request.DocNo, "", request.AgentCode,
                                                                                         request.IsEndorsement, request.EndorsementID, request.RenewalCount);
                    FilePath = CreateHomeSchudles(homeresult, false);
                }
                return(new DownloadScheduleResponse
                {
                    FilePath = FilePath,
                    IsTransactionDone = true
                });
            }
            catch (Exception ex)
            {
                return(new DownloadScheduleResponse
                {
                    IsTransactionDone = false,
                    TransactionErrorMessage = ex.Message
                });
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get home schedule.
        /// </summary>
        /// <param name="home">home policy properties.</param>
        /// <param name="isMailSend">Mail send to the client or not.</param>
        /// <returns>Schedule file path.</returns>
        public string CreateHomeSchudles(HomeSavedQuotationResponse home, bool isMailSend = true)
        {
            try
            {
                string FileName     = home.HomeInsurancePolicy.DocumentNo + ".pdf";
                string FileSavePath = AppDomain.CurrentDomain.BaseDirectory + "/ScheduleDocuments/" + home.HomeInsurancePolicy.InsuredCode + "/" + home.HomeInsurancePolicy.DocumentNo + "/";

                if (!System.IO.Directory.Exists(FileSavePath))
                {
                    System.IO.Directory.CreateDirectory(FileSavePath);
                }


                string FullPath = FileSavePath + FileName;

                string htmlCode = File.ReadAllText(ExtensionMethods.CopyFile(AppDomain.CurrentDomain.BaseDirectory + "/Templates/Home.html",
                                                                             FileSavePath + "Home.html"));
                string DomesticWorkersDiv = System.IO.File.ReadAllText(ExtensionMethods.CopyFile(AppDomain.CurrentDomain.BaseDirectory + "/Templates/HomeDomestic.html",
                                                                                                 FileSavePath + "HomeDomestic.html"));
                string HomesubItemsDiv = System.IO.File.ReadAllText(ExtensionMethods.CopyFile(AppDomain.CurrentDomain.BaseDirectory + "/Templates/HomeSingleItems.html",
                                                                                              FileSavePath + "HomeSingleItems.html"));

                string memberslist     = string.Empty;
                string members         = string.Empty;
                string homeitems       = string.Empty;
                string homesubitems    = string.Empty;
                string endorsementtype = string.Empty;
                string scheduleName    = "Home Schedule";

                int WorkerCount = 1;

                foreach (var list in home.DomesticHelp)
                {
                    string sex = list.Sex == 'M' ? "Male" : "Female";
                    members = DomesticWorkersDiv.Replace("{{Name}}", list.Name)
                              .Replace("{{Sex}}", sex)
                              .Replace("{{DOB}}", list.DOB.CovertToLocalFormat())
                              .Replace("{{CPR}}", list.CPR)
                              .Replace("{{SumInsured}}", Convert.ToString(list.SumInsured))
                              .Replace("{{WorkerCount}}", WorkerCount.ToString())
                              .Replace("{{Occupation}}", list.Occupation);
                    memberslist += members;
                    WorkerCount++;
                }
                foreach (var list in home.HomeSubItems)
                {
                    homeitems = HomesubItemsDiv.Replace("{{Item_description}}", list.SubItemName)
                                .Replace("{{Item_Value}}", Convert.ToString(list.SumInsured));
                    homesubitems += homeitems;
                }
                if (!string.IsNullOrEmpty(home.HomeInsurancePolicy.EndorsementType))
                {
                    endorsementtype = Utility.GetHomeEndorsementType(home.HomeInsurancePolicy.EndorsementType, home.HomeInsurancePolicy);
                }
                scheduleName = home.HomeInsurancePolicy.RenewalCount > 0 ? "Home Renewal Schedule" : "Home Schedule";

                htmlCode = htmlCode.Replace("{{DomesticWorkersDiv}}", memberslist)
                           .Replace("{{PolicyNo}}", home.HomeInsurancePolicy.DocumentNo)
                           .Replace("{{SingleItemsDiv}}", homesubitems)
                           .Replace("{{InsuredName}}", home.HomeInsurancePolicy.InsuredName)
                           .Replace("{{BuildingNo}}", !string.IsNullOrEmpty(home.HomeInsurancePolicy.BuildingNo) ? Convert.ToString("Building No:" + home.HomeInsurancePolicy.BuildingNo) : "")
                           .Replace("{{BlockNo}}", home.HomeInsurancePolicy.BlockNo)
                           .Replace("{{RoadNo}}", home.HomeInsurancePolicy.RoadNo)
                           .Replace("{{Town}}", home.HomeInsurancePolicy.Area)
                           .Replace("{{BuildingAge}}", Convert.ToString(home.HomeInsurancePolicy.BuildingAge))
                           .Replace("{{BuildingValue}}", Convert.ToString(home.HomeInsurancePolicy.BuildingValue))
                           .Replace("{{ContentValue}}", Convert.ToString(home.HomeInsurancePolicy.ContentValue))
                           .Replace("{{JewelleryCover}}", home.HomeInsurancePolicy.JewelleryCover)
                           .Replace("{{TotalSumInsured}}", Convert.ToString((home.HomeInsurancePolicy.BuildingValue + home.HomeInsurancePolicy.ContentValue)))
                           .Replace("{{PolicyStartDate}}", home.HomeInsurancePolicy.PolicyStartDate.CovertToLocalFormat())
                           .Replace("{{ExpiryDate}}", home.HomeInsurancePolicy.PolicyExpiryDate.CovertToLocalFormat())
                           .Replace("{{SumInsured}}", Convert.ToString(home.HomeInsurancePolicy.SumInsured))
                           .Replace("{{Premium}}", Convert.ToString(home.HomeInsurancePolicy.PremiumAfterDiscount))
                           .Replace("{{Bank}}", Convert.ToString(home.HomeInsurancePolicy.FinancierCode))
                           .Replace("{{1}}", home.HomeInsurancePolicy.IsSafePropertyInsured == 'Y' ? "Yes" : "No")
                           .Replace("{{2}}", home.HomeInsurancePolicy.IsRiotStrikeDamage == 'Y' ? "Yes" : "No")
                           .Replace("{{3}}", home.HomeInsurancePolicy.IsRequireDomestic == 'Y' ? "Yes" : "No")
                           .Replace("{{4}}", home.HomeInsurancePolicy.IsSingleItemAboveContents == 'Y' ? "Yes" : "No")
                           .Replace("{{5}}", home.HomeInsurancePolicy.IsJointOwnership == 'Y' ? "Yes" : "No")
                           .Replace("{{6}}", home.HomeInsurancePolicy.IsPropertyInConnectionTrade == 'Y' ? "Yes" : "No")
                           .Replace("{{7}}", home.HomeInsurancePolicy.IsPropertyCoveredOtherInsurance == 'Y' ? "Yes" : "No")
                           .Replace("{{8}}", home.HomeInsurancePolicy.IsPropertyInsuredSustainedAnyLoss == 'Y' ? "Yes" : "No")
                           .Replace("{{9}}", home.HomeInsurancePolicy.IsPropertyUndergoingConstruction == 'Y' ? "Yes" : "No")
                           .Replace("{{Vat}}", Convert.ToString(home.HomeInsurancePolicy.TaxOnPremium))
                           .Replace("{{Total}}", Convert.ToString(home.HomeInsurancePolicy.PremiumAfterDiscount + home.HomeInsurancePolicy.TaxOnPremium))
                           .Replace("{{HomeSchedule}}", scheduleName)
                           .Replace("{{EndorsementType}}", endorsementtype);


                if (home.HomeInsurancePolicy.ResidanceTypeCode == "H")
                {
                    htmlCode = htmlCode.Replace("{{FlatNo}}", "House No : " + home.HomeInsurancePolicy.HouseNo);
                }
                else if (home.HomeInsurancePolicy.ResidanceTypeCode == "F")
                {
                    htmlCode = htmlCode.Replace("{{FlatNo}}", "Flat No : " + home.HomeInsurancePolicy.FlatNo);
                }

                if (home.HomeSubItems.Count == 0)
                {
                    string singleitemdiv = @"<TABLE WIDTH=638 CELLPADDING=7 CELLSPACING=0><COL WIDTH=463>
                                            <COL WIDTH=145><TR><TD COLSPAN=2 WIDTH=622 VALIGN=TOP STYLE='border: 1px solid #00000a; padding-top: 0in; padding-bottom: 0in; padding-left: 0.08in; padding-right: 0.08in'>
                                            <P ALIGN = CENTER><FONT FACE = 'serif'><FONT SIZE =3 STYLE ='font-size: 11pt'><B> Single items </B></FONT></FONT></P></TD></TR></TABLE>";

                    htmlCode = htmlCode.Replace(singleitemdiv, "");
                }

                if (System.IO.File.Exists(FullPath))
                {
                    System.IO.File.Delete(FullPath);
                }

                byte[]       byteArray = Encoding.UTF8.GetBytes(htmlCode);
                MemoryStream stream    = new MemoryStream(byteArray);
                HtmlToPdf.Generate(stream, FullPath, "", "");

                return(FullPath);
            }
            catch (Exception ex)
            {
                return("");
            }
        }