public long AddAccidentalClaim(AccidentalClaimModel accidentalModel)
 {
     try
     {
         return(_repo.AddAccidentalClaim(accidentalModel));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 2
0
        public ActionResult Index([Bind()] AccidentalClaimModel accidentalModel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            _accidentalServices = new AccidentalService();

            string accidentalId = _accidentalServices.AddAccidentalClaim(accidentalModel).ToString();

            if (!string.IsNullOrEmpty(accidentalId))
            {
                ViewBag.Message = "Success";
            }
            else
            {
                ViewBag.Message = "Something went wrong";
            }

            return(RedirectToAction("Index", new { message = ViewBag.Message }));
        }
        public long AddAccidentalClaim(AccidentalClaimModel accidentalModel)
        {
            try
            {
                tblBooking tblBooking = db.tblBookings.FirstOrDefault(x => x.BookingId == Convert.ToInt32(accidentalModel.BookingId));
                if (tblBooking != null)
                {
                    tblBooking.IsAccidentalClaimRaised = new bool?(true);
                    tblBooking.IsRenterRaisedDispute = new bool?(true);
                    db.SaveChanges();
                }
            }
            catch (Exception Ex)
            {

            }

            string tempPath = System.IO.Path.Combine(HostingEnvironment.MapPath("~/PdfTemplates"), "AccidentalClaimPDF.html");
            string _pdfContent = System.IO.File.ReadAllText(tempPath);
            _pdfContent = _pdfContent.Replace("{fullname}", accidentalModel.FullName);
            _pdfContent = _pdfContent.Replace("{email}", accidentalModel.Email);
            _pdfContent = _pdfContent.Replace("{dob}", accidentalModel.DOB);
            _pdfContent = _pdfContent.Replace("{booking}", accidentalModel.BookingId);
            _pdfContent = _pdfContent.Replace("{address}", accidentalModel.Address);
            _pdfContent = _pdfContent.Replace("{postcode}", accidentalModel.PostCode);
            _pdfContent = _pdfContent.Replace("{mobilenumber}", accidentalModel.MobileNumber);
            _pdfContent = _pdfContent.Replace("{dateofincident}", accidentalModel.DateOfIncident);
            _pdfContent = _pdfContent.Replace("{timeofincident}", accidentalModel.TimeOfIncident);
            _pdfContent = _pdfContent.Replace("{incharge}", accidentalModel.InCharge);
            _pdfContent = _pdfContent.Replace("{incidentdetails}", accidentalModel.IncidentDescription);
            _pdfContent = _pdfContent.Replace("{witnessdetails}", accidentalModel.WitnessDetails);
            _pdfContent = _pdfContent.Replace("{thirdpartydetails}", accidentalModel.ThirdPartyDetails);
            _pdfContent = _pdfContent.Replace("{reportedtopolice}", accidentalModel.IsReportedToPolice == true ? "Yes" : "No");
            _pdfContent = _pdfContent.Replace("{anotherinsurer}", accidentalModel.IsAnotherInsurer == true ? "Yes" : "No");
            _pdfContent = _pdfContent.Replace("{refused}", accidentalModel.IsRefusedRenewal == true ? "Yes" : "No");
            _pdfContent = _pdfContent.Replace("{itemclaims}", accidentalModel.ItemsClaimedFor);
            _pdfContent = _pdfContent.Replace("{circumstances}", accidentalModel.Circumstances);

            _pdfContent = _pdfContent.Replace("{previousinsurer}", accidentalModel.PreviousInsurerName);
            _pdfContent = _pdfContent.Replace("{expirydate}", accidentalModel.ExpiryDate);
            _pdfContent = _pdfContent.Replace("{pastclaims}", accidentalModel.PastClaimDetails);
            _pdfContent = _pdfContent.Replace("{criminalconvictions}", accidentalModel.IsAnyCriminalConviction == true ? "Yes" : "No");
            _pdfContent = _pdfContent.Replace("{policycancelled}", accidentalModel.IsPolicyCancelled == true ? "Yes" : "No");
            _pdfContent = _pdfContent.Replace("{providedetails}", accidentalModel.ProvidedDetails);

            TextWriter _fWriter = new StreamWriter(HostingEnvironment.MapPath("~/Templates/dfTemplate.htm"));
            _fWriter.Write(_pdfContent);
            _fWriter.Close();
            _fWriter.Dispose();

            PdfConverter pdfConverter = new PdfConverter();
            pdfConverter.LicenseKey = "elFLWktaTE9IWk9USlpJS1RLSFRDQ0ND";
            pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.Letter;
            pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.NoCompression;
            pdfConverter.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Landscape;
            pdfConverter.PdfDocumentOptions.BottomMargin = 20;
            pdfConverter.PdfDocumentOptions.TopMargin = 20;
            pdfConverter.PdfDocumentOptions.LeftMargin = 20;
            pdfConverter.PdfDocumentOptions.RightMargin = 20;
            pdfConverter.PdfDocumentOptions.ShowHeader = false;
            pdfConverter.PdfDocumentOptions.ShowFooter = false;
            pdfConverter.PdfDocumentOptions.AutoSizePdfPage = false;
            pdfConverter.PdfDocumentOptions.GenerateSelectablePdf = true;
            pdfConverter.PdfDocumentOptions.SinglePage = true;
            byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl(HostingEnvironment.MapPath("~/Templates/dfTemplate.htm"));
            string pdfName = RandomString(7) + ".pdf";
            accidentalModel.PDFName = pdfName;
            System.IO.File.WriteAllBytes(HostingEnvironment.MapPath("~/PdfTemplates/AccidentalClaimForms/" + pdfName), pdfBytes);
            Mapper.Initialize(new MapperConfigurationExpression() { AllowNullCollections = true, AllowNullDestinationValues = true, CreateMissingTypeMaps = true });
            tblAccidentalClaim accidental = Mapper.Instance.Map<tblAccidentalClaim>(accidentalModel);
            accidental.IsApproved = false;
            accidental.CreatedDate = DateTime.Now;
            db.tblAccidentalClaims.Add(accidental);
            db.SaveChanges();
            return accidental.Id;
        }