public ActionResult GetBSOInvoice(BSOSaveDataModel model) { List <ReferenceUniversalItem> DP = referenceBusinessLogic.GetUniversalList(Constants.DeliveryPointRef); string deliveryPointName = DP.Where(m => m.Id == model.DeliveryPointId).FirstOrDefault().Name; long? deliveryPointHeadId = DP.Where(m => m.Id == model.DeliveryPointId).FirstOrDefault().DeliveryPointHeadId; List <SelectListItem> Users = ReferencesProvider.GetUsers(); string fio; if (deliveryPointHeadId != null) { fio = Users.Where(a => a.Value == deliveryPointHeadId.ToString()).Select(b => b.Text).FirstOrDefault(); } else { fio = CurrentUser.Fullname; } List <string> listBsoNumber = new List <string>(); listBsoNumber.Add(model.TemporaryPolicyNumber); BSOInvoice printedForm = new BSOInvoice(listBsoNumber, fio, deliveryPointName); return(File(printedForm.GetExcel(), System.Net.Mime.MediaTypeNames.Application.Octet, string.Format("Накладная БСО (ВС).xls"))); }
public ActionResult AddToClient(ClientVisitSaveDataModel model) { long clientId = model.ClientId.Value; model.Validate(new ModelValidationContext() { currenUser = CurrentUser }); model.IsSuccessfullySaved = model.IsValid(); if (!model.IsValid()) { model.TemporaryPolicyNumber = string.Empty; return(View("Details", model)); } else { ClientVisitSaveResult result = clientBusinessLogic.ClientVisit_Save(CurrentUser, model.GetClientVisitSaveData()); model.VisitGroupId = result.VisitGroupId; model.ClientId = result.ClientID; model.VisitId = result.ClientVisitID; if (!string.IsNullOrEmpty(model.TemporaryPolicyNumber)) { BSOSaveDataModel bsoSaveDataModel = new BSOSaveDataModel(bsoBusinessLogic.BSO_GetByNumber(model.TemporaryPolicyNumber)); bsoBusinessLogic.BSO_Save((bsoSaveDataModel.UpdateBSOIssuedClient(model, CurrentUser)).GetBSOSaveData()); } model.SetFlagPrintReport(); //return View("Create", model); return(View("Details", model)); //нет //return RedirectToAction("Details", "Client", new { id = clientId }); } }
public ActionResult Create(ClientVisitSaveDataModel model) { model.Comment = model.Comment + Environment.NewLine + " Место выдачи: " + model.DeliveryCenters.Where(a => a.Value == model.DeliveryCenterId.ToString()).Select(b => b.Text).FirstOrDefault() + Environment.NewLine + " Категория клиента: " + model.UralsibClientCategories.Where(a => a.Value == model.ClientCategoryId.ToString()).Select(b => b.Text).FirstOrDefault() + Environment.NewLine; model.Registrator = new UserModel(userBusinessLogic.User_GetByLogin(this.HttpContext.User.Identity.Name)); model.Validate(new ModelValidationContext() { currenUser = CurrentUser }); model.IsSuccessfullySaved = model.IsValid(); if (model.IsValid()) { ClientVisitSaveResult result = clientBusinessLogic.ClientVisit_Save(CurrentUser, model.GetClientVisitSaveData()); model.VisitGroupId = result.VisitGroupId; model.VisitId = result.ClientVisitID; model.ClientId = result.ClientID; if (!string.IsNullOrEmpty(model.TemporaryPolicyNumber)) { BSOSaveDataModel bsoSaveDataModel = new BSOSaveDataModel(bsoBusinessLogic.BSO_GetByNumber(model.TemporaryPolicyNumber)); bsoBusinessLogic.BSO_Save((bsoSaveDataModel.UpdateBSOIssuedClient(model, CurrentUser)).GetBSOSaveData()); } //return RedirectToAction("Details", "Client", new { id = result.ClientID }); model.SetFlagPrintReport(); return(View(model)); } else { return(View(model)); } }
public ActionResult Edit(long?id) { if (id != null) { BSO bso = bsoBusinessLogic.BSO_GetByID((long)id); BSOSaveDataModel model = new BSOSaveDataModel(bso); model.Comment = null; model.StatusDate = DateTime.Now; return(PartialView(model)); } else { BSOSaveDataModel model = new BSOSaveDataModel(); return(PartialView(model)); } }
public ActionResult Edit(BSOSaveDataModel model) { long?BSO_Id = model.Id; model.Validate(new ModelValidationContext() { currenUser = CurrentUser }); model.IsSuccessfullySaved = model.IsValid(); model.GetAvailableBSOStatus(model.StatusId, true); if (Request.IsAjaxRequest()) { if (model.IsValid()) { model.UserId = CurrentUser.Id; if (model.StatusId == (long)ListBSOStatusID.OnDelivery) { model.FlagPrintReport = true; } bsoBusinessLogic.BSO_Save(model.GetBSOSaveData()); return(PartialView("Edit", model)); } else { return(PartialView("Edit", model)); } } else { if (model.IsValid()) { model.UserId = CurrentUser.Id; bsoBusinessLogic.BSO_Save(model.GetBSOSaveData()); return(RedirectToAction("BSOHistory", "BSO", new { id = BSO_Id })); } else { return(View("BSO")); //return RedirectToAction("BSOHistory", "BSO", new { id = BSO_Id }); } } }
public ActionResult MassChanges(BSOListModel bsoListModel) { long newStatus = (long)bsoListModel.SearchCriteriaModel.CurrentStatusId; long? newDelivery = bsoListModel.SearchCriteriaModel.NewDeliveryPointId; long? newResponsible = bsoListModel.SearchCriteriaModel.NewResponsibleID; DateTime?newStatusDate = bsoListModel.SearchCriteriaModel.NewStatusDate; long countPrintBso = 0; //Регистратор не может изменить 'Точку выдачи' и 'Ответственного' if (Role.Registrator.Id == Role.GetRealRole(CurrentUser).Id) { bsoListModel.SearchCriteriaModel.NewDeliveryPointId = CurrentUser.DeliveryPoint.Id; newDelivery = CurrentUser.DeliveryPoint.Id; bsoListModel.SearchCriteriaModel.NewResponsibleID = bsoListModel.SearchCriteriaModel.ResponsibleID; newResponsible = bsoListModel.SearchCriteriaModel.ResponsibleID; bsoListModel.SearchCriteriaModel.Messages.Add("В роли Регистратор, вы не можете изменить Ответственного или Точку Выдачи"); } //Ответственный не может изменить 'Ответственного' if (Role.ResponsibleBSO.Id == Role.GetRealRole(CurrentUser).Id && (bsoListModel.SearchCriteriaModel.NewResponsibleID != bsoListModel.SearchCriteriaModel.ResponsibleID)) { bsoListModel.SearchCriteriaModel.NewResponsibleID = bsoListModel.SearchCriteriaModel.ResponsibleID; newResponsible = bsoListModel.SearchCriteriaModel.ResponsibleID; bsoListModel.SearchCriteriaModel.Messages.Add("В роли Ответственного, вы не можете изменить 'Ответственного'"); } BSOSearchCriteria oldCriteria = bsoListModel.SearchCriteriaModel.GetBSOSearchCriteria(); bsoListModel.SearchCriteriaModel.Validate(new ModelValidationContext() { currenUser = CurrentUser }); bsoListModel.SearchCriteriaModel.IsSuccessfullySaved = bsoListModel.SearchCriteriaModel.IsValid(); if (Request.IsAjaxRequest()) { if (bsoListModel.SearchCriteriaModel.IsValid()) { BSOSearchCriteria criteria = bsoListModel.SearchCriteriaModel.GetBSOSearchCriteria(); DataPage <BSOInfo> listBso = bsoBusinessLogic.BSO_Find( criteria, new List <SortCriteria <BSOSortField> >(), new PageRequest() { PageNumber = bsoListModel.PageNumber, PageSize = int.MaxValue }); BSOSaveDataModel bsoSaveDataModel = new BSOSaveDataModel() { StatusId = newStatus, ResponsibleID = newResponsible, PolicyPartyNumber = bsoListModel.SearchCriteriaModel.PolicyPartyNumber, DeliveryPointId = newDelivery, UserId = CurrentUser.Id, Comment = string.Format("Массовая смена статуса") }; if (listBso.Count == 0) { bsoListModel.SearchCriteriaModel.IsSuccessfullySaved = false; } foreach (var b in listBso) { //если не указана новая точка выдачи, то сохраняем прежную //если указана - записываем новую if (newDelivery == null) { bsoSaveDataModel.DeliveryPointId = b.DeliveryPointId; } else { bsoSaveDataModel.DeliveryPointId = newDelivery; } //если не указан новый ответственный, то сохраняем прежнего //если указан - записываем нового if (newResponsible == null) { bsoSaveDataModel.ResponsibleID = b.ResponsibleID; } else { bsoSaveDataModel.ResponsibleID = newResponsible; } //если не указана новая дата статуса, то сохраняем прежную //если указан - записываем новую if (newStatusDate == null) { bsoSaveDataModel.StatusDate = b.StatusDate; } else { bsoSaveDataModel.StatusDate = newStatusDate; } bsoSaveDataModel.Id = b.Id; BSO.SaveData save = bsoSaveDataModel.GetBSOSaveData(); bsoBusinessLogic.BSO_Set(save); } countPrintBso = listBso.Count; } else { //nothing } } else { return(RedirectToAction("Index", "BSO")); } DataPage <BSOInfo> bsos = bsoBusinessLogic.BSO_Find( oldCriteria, new List <SortCriteria <BSOSortField> >(), new PageRequest() { PageNumber = bsoListModel.PageNumber, PageSize = bsoListModel.PageSize }); BSOListModel model = new BSOListModel() { Items = bsos.Data.Select(item => new BSOBaseInfoModel(item)), SearchCriteriaModel = new BSOSearchCriteriaModel(oldCriteria), PageNumber = bsoListModel.PageNumber, PageSize = bsoListModel.PageSize, TotalCount = bsos.TotalCount }; model.SearchCriteriaModel.Messages.AddRange(bsoListModel.SearchCriteriaModel.Messages); model.SearchCriteriaModel.CurrentStatusId = newStatus; model.SearchCriteriaModel.NewDeliveryPointId = newDelivery; model.SearchCriteriaModel.NewResponsibleID = newResponsible; model.SearchCriteriaModel.IsSuccessfullySaved = bsoListModel.SearchCriteriaModel.IsSuccessfullySaved; model.GetAvailableBSOStatus(bsoListModel.SearchCriteriaModel.StatusId, true); //печатаем отчет, если статус изменился: На точке if (model.SearchCriteriaModel.CurrentStatusId == (long)ListBSOStatusID.OnDelivery && model.SearchCriteriaModel.IsSuccessfullySaved.Value) { model.FlagPrintReport = countPrintBso; } else { model.FlagPrintReport = 0; } return(PartialView("MassChanges", model)); }
public ActionResult Edit(long?id, ClientVisitSaveDataModel model) { model.Validate(new ModelValidationContext() { currenUser = CurrentUser }); model.IsSuccessfullySaved = model.IsValid(); model.Registrator = new UserModel(userBusinessLogic.User_Get(model.Registrator.Id.Value)); if (Request.IsAjaxRequest()) { if (model.IsValid()) { ClientVisitSaveResult result = clientBusinessLogic.ClientVisit_Save(CurrentUser, model.GetClientVisitSaveData()); model.VisitGroupId = result.VisitGroupId; model.ClientId = result.ClientID; model.VisitId = result.ClientVisitID; if (!string.IsNullOrEmpty(model.TemporaryPolicyNumber)) { BSO bso = bsoBusinessLogic.BSO_GetByNumber(model.TemporaryPolicyNumber); BSOSaveDataModel bsoSaveDataModel = new BSOSaveDataModel(bso); bsoSaveDataModel.UpdateBSOIssuedClient(model, CurrentUser); bsoSaveDataModel.Validate(new ModelValidationContext()); bsoSaveDataModel.IsSuccessfullySaved = model.IsValid(); if (bsoSaveDataModel.IsValid()) { bsoBusinessLogic.BSO_Save(bsoSaveDataModel.GetBSOSaveData()); } } ClientVisitSaveDataModel m = new ClientVisitSaveDataModel(CurrentUser, clientBusinessLogic.ClientVisit_Get(model.VisitId.Value)); m.GetMessagesNotCritical(model); m.IsSuccessfullySaved = true; m.SetFlagPrintReport(); return(PartialView("Edit", m)); } else { return(PartialView("Edit", model)); } } else { var t = model.IsValid(); var tt = model.IsValidNotCritical(); if (model.IsValid()) { ClientVisitSaveResult result = clientBusinessLogic.ClientVisit_Save(CurrentUser, model.GetClientVisitSaveData()); model.VisitGroupId = result.VisitGroupId; model.ClientId = result.ClientID; model.VisitId = result.ClientVisitID; //TempData["ClientVisitSaveDataModel"] = new ClientVisitSearchCriteriaModel() TempData["ClientVisitSaveDataModel"] = new ClientSearchCriteriaModel() { Firstname = model.NewClientInfo.Firstname, Secondname = model.NewClientInfo.Secondname, Lastname = model.NewClientInfo.Lastname, Birthday = model.NewClientInfo.Birthday }; if (!string.IsNullOrEmpty(model.TemporaryPolicyNumber)) { BSO bso = bsoBusinessLogic.BSO_GetByNumber(model.TemporaryPolicyNumber); if (bso != null) { BSOSaveDataModel bsoSaveDataModel = new BSOSaveDataModel(bso); bsoSaveDataModel.UpdateBSOIssuedClient(model, CurrentUser); bsoSaveDataModel.Validate(new ModelValidationContext()); bsoSaveDataModel.IsSuccessfullySaved = model.IsValid(); if (bsoSaveDataModel.IsValid()) { bsoBusinessLogic.BSO_Save(bsoSaveDataModel.GetBSOSaveData()); } } } //Если нет никаких ошибок вообще - перебрасываем в Клиенты с поиском этого клиента if (model.IsValidNotCritical()) { return(RedirectToAction("Index", "Client")); } else { return(View("Details", model)); } //return RedirectToAction("Index"); } else { return(View("Details", model)); } } }