public ActionResult ViewArchived(int?id)
        {
            var model = new FirstNoticeOfLossReportViewModel();

            if (id != null)
            {
                var data = _firstNoticeLossArchiveService.GetFNOLArchivedById(Convert.ToInt32(id));
                model                  = Mapper.Map <first_notice_of_loss_archive, FirstNoticeOfLossReportViewModel>(data);
                model.IsArchived       = true;
                model.Invoices         = new List <FileDescriptionViewModel>();
                model.InsuranceInfoDoc = new List <FileDescriptionViewModel>();

                var allInvoices = _fis.GetInvoiceDocumentName(model.Id);
                foreach (var invoice in allInvoices)
                {
                    var file = new FileDescriptionViewModel();
                    file.FileName = invoice;
                    file.FilePath = "~/DocumentsFirstNoticeOfLoss/Invoices/" + file.FileName;
                    model.Invoices.Add(file);
                }

                var isHealthInsurance = _fis.IsHealthInsuranceByAdditionalInfoId(data.Additional_infoId);
                var allDoc            = _fis.GetHealthLuggageDocumentName(model.Id);
                foreach (var doc in allDoc)
                {
                    var file = new FileDescriptionViewModel();
                    file.FileName = doc;
                    file.FilePath = isHealthInsurance ? "~/DocumentsFirstNoticeOfLoss/HealthInsurance/" + file.FileName : "~/DocumentsFirstNoticeOfLoss/LuggageInsurance/" + file.FileName;
                    model.InsuranceInfoDoc.Add(file);
                }
            }
            return(View("View", model));
        }
        public async Task <ActionResult> Index(FirstNoticeOfLossReportViewModel firstNoticeOfLossViewModel, IEnumerable <HttpPostedFileBase> invoices, IEnumerable <HttpPostedFileBase> documentsHealth, IEnumerable <HttpPostedFileBase> documentsLuggage)
        {
            ModelState.Remove("PolicyHolderForeignBankAccountId");
            ModelState.Remove("ClaimantForeignBankAccountId");

            if (firstNoticeOfLossViewModel.IsHealthInsurance)
            {
                ModelState.Remove("AccidentDateTimeLuggage");
                ModelState.Remove("Floaters");
                ModelState.Remove("FloatersValue");
                ModelState.Remove("AccidentPlaceLuggage");
                ModelState.Remove("PlaceDescription");
                ModelState.Remove("DetailDescription");
                ModelState.Remove("ReportPlace");
                ModelState.Remove("AccidentTimeLuggage");
                ModelState.Remove("LugaggeCheckingTime");
                ModelState.Remove("ArriveTime");
                ModelState.Remove("Invoices");
                ViewBag.insurance = "Health Insurance";
            }
            else
            {
                ModelState.Remove("AccidentDateTimeHealth");
                ModelState.Remove("AccidentTimeHealth");
                ModelState.Remove("AccidentPlaceHealth");
                ModelState.Remove("DoctorVisitDateTime");
                ModelState.Remove("DoctorInfo");
                ModelState.Remove("ArriveTime");
                ModelState.Remove("Invoices");
                ViewBag.insurance = "Luggage Insurance";
            }

            if (ModelState.IsValid)
            {
                var policy = _ps.GetPolicyIdByPolicyNumber(firstNoticeOfLossViewModel.PolicyNumber.ToString());
                if (policy == null)
                {
                    return(View(firstNoticeOfLossViewModel));
                }
                firstNoticeOfLossViewModel.PolicyId = policy.ID;

                var result = SaveFirstNoticeOfLossHelper.SaveFirstNoticeOfLoss(_iss, _us, _fis,
                                                                               _bas, _pts, _ais, firstNoticeOfLossViewModel, invoices, documentsHealth, documentsLuggage);
                if (result > 0)
                {
                    ViewBag.Message = "Successfully reported!";
                    return(RedirectToAction("View", new { id = result }));
                }
                else
                {
                    ViewBag.Message = "Something went wrong!";
                    return(View());
                }
            }
            else
            {
                ViewBag.PolicyNumber = firstNoticeOfLossViewModel.PolicyNumber;
            }
            return(View(firstNoticeOfLossViewModel));
        }
Exemple #3
0
        public IHttpActionResult Check()
        {
            FirstNoticeOfLossReportViewModel f = new FirstNoticeOfLossReportViewModel();
            //f.PolicyType = "Comfort";
            //f.policyNumber = 123456;
            //f.username = "******";
            //f.TransactionAccount = "jsJADKJASD";
            //f.deponent = "akhKSDds";
            //f.insuredAddress = "jsaksf";
            //f.insuredEMBG = "jsaksf";
            //f.insuredName = "jsaksf";
            //f.insuredPhone = "jsaksf";
            //f.insuredTransactionAccount = "jsaksf";
            //f.deponentInsured = "msalfdf";
            //f.relationship = "friend";
            //f.travelDestination = "gldfd";
            //f.message = "fnlgfsldfgk;dfxlgd;f";
            //f.additionalDocumentsHanded = "dajda";
            //f.travelTimeFrom = DateTime.Now.TimeOfDay;
            //f.travelTimeTo = DateTime.Now.TimeOfDay;
            //f.travelDateFrom = DateTime.Now;
            //f.travelDateTo = DateTime.Now;
            //f.message = "sjaDKa";
            //f.valueExpenses = 100;
            ////f.ShortDetailed = true;
            ////f.LuggageInsurance = true;
            ////f.HealthInsurance = false;
            ////f.WebMobile = false;
            //f.transportationType = "Car";



            var fnol = Mapper.Map <FirstNoticeOfLossReportViewModel, first_notice_of_loss>(f);

            return(Ok(new { fnol = fnol }));
        }
        public static int SaveFirstNoticeOfLoss(IInsuredsService _iss, IUserService _us, IFirstNoticeOfLossService _fis,
                                                IBankAccountService _bas, IPolicyTypeService _pts, IAdditionalInfoService _ais,
                                                FirstNoticeOfLossReportViewModel firstNoticeOfLossViewModel, IEnumerable <HttpPostedFileBase> invoices,
                                                IEnumerable <HttpPostedFileBase> documentsHealth, IEnumerable <HttpPostedFileBase> documentsLuggage)
        {
            var result         = -1;
            var additionalInfo = _ais.Create();

            if (firstNoticeOfLossViewModel.IsHealthInsurance)
            {
                additionalInfo.Accident_place = firstNoticeOfLossViewModel.AccidentPlaceHealth;
                if (firstNoticeOfLossViewModel.AccidentDateTimeHealth != null)
                {
                    var      dateTime = firstNoticeOfLossViewModel.AccidentDateTimeHealth.Value;
                    var      timeSpan = firstNoticeOfLossViewModel.AccidentTimeHealth.Value;
                    DateTime d        = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day);
                    d.Add(timeSpan);
                    additionalInfo.Datetime_accident = d;
                }
                var healthInsuranceInfo = new health_insurance_info
                {
                    Additional_infoId        = _ais.Add(additionalInfo),
                    additional_info          = additionalInfo,
                    Datetime_doctor_visit    = firstNoticeOfLossViewModel.DoctorVisitDateTime,
                    Doctor_info              = firstNoticeOfLossViewModel.DoctorInfo,
                    Medical_case_description = firstNoticeOfLossViewModel.MedicalCaseDescription,
                    Previous_medical_history = firstNoticeOfLossViewModel.PreviousMedicalHistory,
                    Responsible_institution  = firstNoticeOfLossViewModel.ResponsibleInstitution
                };

                try
                {
                    _ais.AddHealthInsuranceInfo(healthInsuranceInfo);
                }
                finally { }
            }
            else
            {
                additionalInfo.Accident_place = firstNoticeOfLossViewModel.AccidentPlaceLuggage;
                if (firstNoticeOfLossViewModel.AccidentDateTimeLuggage != null)
                {
                    var      dateTime = firstNoticeOfLossViewModel.AccidentDateTimeLuggage.Value;
                    var      timeSpan = firstNoticeOfLossViewModel.AccidentTimeLuggage.Value;
                    DateTime d        = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day);
                    additionalInfo.Datetime_accident = d + timeSpan;
                }
                var luggageInsuranceInfo = new luggage_insurance_info
                {
                    Additional_infoId     = _ais.Add(additionalInfo),
                    additional_info       = additionalInfo,
                    Place_description     = firstNoticeOfLossViewModel.PlaceDescription,
                    Detail_description    = firstNoticeOfLossViewModel.DetailDescription,
                    Report_place          = firstNoticeOfLossViewModel.ReportPlace,
                    Floaters              = firstNoticeOfLossViewModel.Floaters,
                    Floaters_value        = float.Parse(firstNoticeOfLossViewModel.FloatersValue),
                    Luggage_checking_Time = firstNoticeOfLossViewModel.LugaggeCheckingTime ?? new TimeSpan(0, 0, 0)
                };

                try
                {
                    _ais.AddLuggageInsuranceInfo(luggageInsuranceInfo);
                }
                finally { }
            }
            var firstNoticeOfLossEntity = _fis.Create();

            firstNoticeOfLossEntity.PolicyId   = firstNoticeOfLossViewModel.PolicyId;
            firstNoticeOfLossEntity.ClaimantId = firstNoticeOfLossViewModel.ClaimantId;
            firstNoticeOfLossEntity.Relation_claimant_policy_holder = firstNoticeOfLossViewModel.RelationClaimantPolicyHolder;
            firstNoticeOfLossEntity.Destination       = firstNoticeOfLossViewModel.Destination;
            firstNoticeOfLossEntity.Depart_Date_Time  = firstNoticeOfLossViewModel.DepartDateTime;
            firstNoticeOfLossEntity.Arrival_Date_Time = firstNoticeOfLossViewModel.ArrivalDateTime;
            firstNoticeOfLossEntity.Transport_means   = firstNoticeOfLossViewModel.TransportMeans;
            firstNoticeOfLossEntity.Total_cost        = firstNoticeOfLossViewModel.TotalCost;
            firstNoticeOfLossEntity.CreatedDateTime   = DateTime.Now;
            firstNoticeOfLossEntity.FNOL_Number       = _fis.CreateFNOLNumber();

            string username;

            if (firstNoticeOfLossViewModel.isMobile)
            {
                username = firstNoticeOfLossViewModel.username;
            }
            else
            {
                username = System.Web.HttpContext.Current.User.Identity.Name;
            }
            firstNoticeOfLossEntity.CreatedBy = _us.GetUserIdByUsername(username);
            //firstNoticeOfLossEntity.Message = "";
            firstNoticeOfLossEntity.Additional_infoID = additionalInfo.ID;
            firstNoticeOfLossEntity.PolicyId          = firstNoticeOfLossViewModel.PolicyId;
            firstNoticeOfLossEntity.ClaimantId        = firstNoticeOfLossEntity.ClaimantId;
            firstNoticeOfLossEntity.Relation_claimant_policy_holder = firstNoticeOfLossEntity.Relation_claimant_policy_holder;

            if (!firstNoticeOfLossViewModel.isMobile && firstNoticeOfLossViewModel.ClaimantExistentBankAccount)
            {
                firstNoticeOfLossEntity.Claimant_bank_accountID = firstNoticeOfLossViewModel.ClaimantForeignBankAccountId;
            }
            else
            {
                var bankAccountId = SaveBankAccountInfoHelper.SaveBankAccountInfo(_bas, firstNoticeOfLossViewModel.ClaimantId,
                                                                                  firstNoticeOfLossViewModel.ClaimantBankName,
                                                                                  firstNoticeOfLossViewModel.ClaimantBankAccountNumber);

                firstNoticeOfLossEntity.Claimant_bank_accountID = bankAccountId;
            }

            if (firstNoticeOfLossViewModel.PolicyHolderExistentBankAccount)
            {
                firstNoticeOfLossEntity.Policy_holder_bank_accountID = firstNoticeOfLossViewModel.PolicyHolderForeignBankAccountId;
            }
            else
            {
                var bankAccountId = SaveBankAccountInfoHelper.SaveBankAccountInfo(_bas, firstNoticeOfLossViewModel.PolicyHolderId,
                                                                                  firstNoticeOfLossViewModel.PolicyHolderBankName,
                                                                                  firstNoticeOfLossViewModel.PolicyHolderBankAccountNumber);

                firstNoticeOfLossEntity.Policy_holder_bank_accountID = bankAccountId;
            }

            int FirstNoticeOfLossID = 0;

            try
            {
                FirstNoticeOfLossID = _fis.Add(firstNoticeOfLossEntity);
            }

            finally { }
            var lastDocumentId = _fis.LastDocumentId();

            if (invoices != null)
            {
                foreach (var file in invoices)
                {
                    lastDocumentId++;
                    if (file != null && file.ContentLength > 0)
                    {
                        string fileName = file.FileName + "_" + FirstNoticeOfLossID + "_" + lastDocumentId;
                        var    path     = @"~/DocumentsFirstNoticeOfLoss/Invoices/" + fileName;
                        file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path));

                        var document = new document();
                        document.Name = fileName;
                        var documentID = _fis.AddDocument(document);
                        _fis.AddInvoice(documentID);
                        _fis.AddDocumentToFirstNoticeOfLoss(documentID, FirstNoticeOfLossID);
                    }
                }
            }

            if (documentsHealth != null)
            {
                foreach (var file in documentsHealth)
                {
                    lastDocumentId++;
                    if (file != null && file.ContentLength > 0)
                    {
                        string fileName = file.FileName + "_" + FirstNoticeOfLossID + "_" + lastDocumentId;
                        var    path     = @"~/DocumentsFirstNoticeOfLoss/HealthInsurance/" + fileName;
                        file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path));
                        var document = new document();
                        document.Name = fileName;
                        var documentID = _fis.AddDocument(document);
                        _fis.AddDocumentToFirstNoticeOfLoss(documentID, FirstNoticeOfLossID);
                    }
                }
            }

            if (documentsLuggage != null)
            {
                foreach (var file in documentsLuggage)
                {
                    if (file != null && file.ContentLength > 0)
                    {
                        var path = @"~/DocumentsFirstNoticeOfLoss/LuggageInsurance/" + file.FileName;
                        file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path));
                        var document = new document();
                        document.Name = file.FileName;
                        var documentID = _fis.AddDocument(document);
                        _fis.AddDocumentToFirstNoticeOfLoss(documentID, FirstNoticeOfLossID);
                    }
                }
            }
            result = FirstNoticeOfLossID;
            return(result);
        }