public static void UpdateFirstNoticeOfLoss(FirstNoticeOfLossEditViewModel model, IFirstNoticeOfLossService _fnol, IBankAccountService _bas, IAdditionalInfoService _ais, IHealthInsuranceService _his, ILuggageInsuranceService _lis, IFirstNoticeOfLossArchiveService _firstNoticeLossArchive, IEnumerable <HttpPostedFileBase> invoices, IEnumerable <HttpPostedFileBase> documentsHealth, IEnumerable <HttpPostedFileBase> documentsLuggage) { var fnol = _fnol.GetById(model.Id); //bank accounts update var isArchived = ArchiveFirstNoticeOfLossHelper.ArchiveFirstNoticeOfLoss(fnol, model.ModifiedBy, _fnol, _firstNoticeLossArchive); if (!fnol.Claimant_bank_account_info.Account_Number.ToString().Equals(model.ClaimantBankAccountNumber) || !fnol.Claimant_bank_account_info.bank.Name.Equals(model.ClaimantBankName)) { var bankAccountId = UpdateBankAccountInfoHelper.UpdateBankAccountInfo(fnol.Claimant_bank_accountID, model.ClaimantBankAccountNumber.Trim(), model.ClaimantBankName, fnol.ClaimantId, _bas); _fnol.UpdateClaimantBankAccountId(fnol.ID, bankAccountId); } if (!fnol.Policy_holder_bank_account_info.Account_Number.ToString().Equals(model.PolicyHolderBankAccountNumber) || !fnol.Policy_holder_bank_account_info.bank.Name.Equals(model.PolicyHolderBankName)) { var bankAccountId = UpdateBankAccountInfoHelper.UpdateBankAccountInfo(fnol.Policy_holder_bank_accountID, model.PolicyHolderBankAccountNumber.Trim(), model.PolicyHolderBankName, fnol.travel_policy.Policy_HolderID, _bas); _fnol.UpdatePolicyHolderBankAccountId(fnol.ID, bankAccountId); } UpdateAdditionalInfoHelper.UpdateAdditionalInfo(model, _fnol, _ais, _lis, _his); //jos vkupna vrednost i dokumenti var newFnol = fnol; newFnol.Modified_Datetime = DateTime.Now; newFnol.ModifiedBy = model.ModifiedBy; newFnol.Destination = model.Destination; newFnol.Depart_Date_Time = model.DepartDateTime.Date; newFnol.Depart_Date_Time = model.DepartDateTime.Date + (model.DepartTime ?? new TimeSpan(0, 0, 0)); //newFnol.Depart_Date_Time = new DateTime(model.DepartDateTime.Year,); newFnol.Arrival_Date_Time = model.ArrivalDateTime.Date; newFnol.Arrival_Date_Time = model.ArrivalDateTime.Date + (model.ArriveTime ?? new TimeSpan(0, 0, 0)); newFnol.Transport_means = model.TransportMeans; newFnol.Relation_claimant_policy_holder = model.RelationClaimantPolicyHolder; newFnol.Total_cost = model.TotalCost; _fnol.Update(newFnol); if (invoices != null) { foreach (var file in invoices) { if (file != null && file.ContentLength > 0) { var path = @"~/DocumentsFirstNoticeOfLoss/Invoices/" + file.FileName; file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path)); var document = new document(); document.Name = file.FileName; var documentID = _fnol.AddDocument(document); _fnol.AddInvoice(documentID); _fnol.AddDocumentToFirstNoticeOfLoss(documentID, fnol.ID); } } } if (documentsHealth != null) { foreach (var file in documentsHealth) { if (file != null && file.ContentLength > 0) { var path = @"~/DocumentsFirstNoticeOfLoss/HealthInsurance/" + file.FileName; file.SaveAs(System.Web.HttpContext.Current.Server.MapPath(path)); var document = new document(); document.Name = file.FileName; var documentID = _fnol.AddDocument(document); _fnol.AddDocumentToFirstNoticeOfLoss(documentID, fnol.ID); } } } 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 = _fnol.AddDocument(document); _fnol.AddDocumentToFirstNoticeOfLoss(documentID, fnol.ID); } } } }