public ActionResult GpdRefDetailDialog(GpdRefDetailDialogModel model) { //модальное окно посылает и принимает форму через ajax ModelState.Clear(); GpdBl.CheckFillFieldsForGpdRefDetailDialog(model, ModelState); int DetailType = model.DetailType; if (ModelState.Count != 0) { return PartialView(model); } else { string error; if (GpdBl.SaveGpdRefDetailDialog(model, out error)) { model = GpdBl.SetDetailDialog(model.Id); model.DetailType = DetailType; ModelState.AddModelError("errorMessage", "Реквизит успешно сохранен!"); return PartialView(model); } else { if (!string.IsNullOrEmpty(error)) ModelState.AddModelError("errorMessage", error); return PartialView(model); } } }
/// <summary> /// Проверяем правильность заполнения полей. /// </summary> /// <param name="model">Проверяемая модель.</param> /// <param name="ms">Словарь для сообщений об ошибках.</param> public void CheckFillFieldsForGpdRefDetailDialog(GpdRefDetailDialogModel model, System.Web.Mvc.ModelStateDictionary ms) { if (model.Name == null) ms.AddModelError("Name", "Заполните поле 'Наименование'"); if (model.Name != null && model.Name.Trim().Length > 150) ms.AddModelError("Name", "Превышено допустимое количество символов!"); if (model.ContractorName == null) ms.AddModelError("ContractorName", "Заполните поле 'Наименование'"); if (model.ContractorName != null && model.ContractorName.Trim().Length > 150) ms.AddModelError("ContractorName", "Превышено допустимое количество символов!"); //if (model.INN == null) // ms.AddModelError("INN", "Заполните поле 'ИНН'"); //if (model.INN != null && model.INN.Trim().Length > 12) // ms.AddModelError("INN", "Превышено допустимое количество символов!"); //if (model.KPP == null) // ms.AddModelError("KPP", "Заполните поле 'КПП'"); //if (model.KPP != null && model.KPP.Trim().Length > 9) // ms.AddModelError("KPP", "Превышено допустимое количество символов!"); //if (model.Account == null) // ms.AddModelError("Account", "Заполните поле 'Расчетный счет'"); if (model.Account != null && model.Account.Trim().Length > 23) ms.AddModelError("Account", "Превышено допустимое количество символов!"); //if (model.BankName == null) // ms.AddModelError("BankName", "Заполните поле 'Банк'"); //if (model.BankName != null && model.BankName.Trim().Length > 100) // ms.AddModelError("BankName", "Превышено допустимое количество символов!"); //if (model.BankBIK == null) // ms.AddModelError("BankBIK", "Заполните поле 'Банк БИК'"); //if (model.BankBIK != null && model.BankBIK.Trim().Length > 9) // ms.AddModelError("BankBIK", "Превышено допустимое количество символов!"); //if (model.CorrAccount == null) // ms.AddModelError("CorrAccount", "Заполните поле 'Банк кор/счет'"); if (model.CorrAccount != null && model.CorrAccount.Trim().Length > 23) ms.AddModelError("Name", "Превышено допустимое количество символов!"); if (model.PersonAccount != null && model.PersonAccount.Trim().Length > 23) ms.AddModelError("PersonAccount", "Превышено допустимое количество символов!"); }
/// <summary> /// Процедура сохранения записи в базе данных. /// </summary> /// <param name="model">Текущая модель.</param> /// <param name="error">Переменная для возврата текста сообщения об ошибке.</param> public bool SaveGpdRefDetailDialog(GpdRefDetailDialogModel model, out string error) { error = string.Empty; //UserRole currentUserRole = AuthenticationService.CurrentUser.UserRole; IUser currentUseId = AuthenticationService.CurrentUser; try { GpdRefDetail gpdrefDetail = GpdRefDetailDao.Get(model.Id); if (model.Id == 0) { gpdrefDetail = new GpdRefDetail { Name = model.Name, ContractorName = model.ContractorName, //DTID = 1,//model.DTID, INN = model.INN, KPP = model.KPP, Account = model.Account, BankName = model.BankName, BankBIK = model.BankBIK, CorrAccount = model.CorrAccount, PersonAccount = model.PersonAccount, CreatorID = currentUseId.Id, }; } else { gpdrefDetail.Name = model.Name; gpdrefDetail.ContractorName = model.ContractorName; //gpdrefDetail.DTID = 1;// model.DTID; gpdrefDetail.INN = model.INN; gpdrefDetail.KPP = model.KPP; gpdrefDetail.Account = model.Account; gpdrefDetail.BankName = model.BankName; gpdrefDetail.BankBIK = model.BankBIK; gpdrefDetail.CorrAccount = model.CorrAccount; gpdrefDetail.PersonAccount = model.PersonAccount; //gpdrefDetail.CreatorID = model.CreatorID; gpdrefDetail.EditorID = currentUseId.Id; gpdrefDetail.EditDate = DateTime.Now; } GpdRefDetailDao.SaveAndFlush(gpdrefDetail); model.Id = gpdrefDetail.Id; model.DetailID = gpdrefDetail.Id; return true; } catch (Exception ex) { GpdRefDetailDao.RollbackTran(); Log.Error("Error on SaveMissionOrderEditModel:", ex); error = string.Format("Исключение:{0}", ex.GetBaseException().Message); return false; } }
/// <summary> /// Заполнение формы. /// </summary> /// <param name="ID"></param> /// <returns></returns> public GpdRefDetailDialogModel SetDetailDialog(int ID) { GpdRefDetailDialogModel model = new GpdRefDetailDialogModel(); if (ID != 0) { UserRole role = CurrentUser.UserRole; IList<GpdDetailDto> DetailInfo = GpdRefDetailDao.GetRefDetail(role, ID, null, null, 0, null); if (DetailInfo.Count != 0) { foreach (var doc in DetailInfo) { model.Id = doc.Id; model.DetailID = doc.Id; //model.DTID = doc.DTID; model.Name = doc.Name; model.ContractorName = doc.ContractorName; model.INN = doc.INN; model.KPP = doc.KPP; model.Account = doc.Account; model.BankName = doc.BankName; model.BankBIK = doc.BankBIK; model.CorrAccount = doc.CorrAccount; model.PersonAccount = doc.PersonAccount; } } } //else // model.DTID = 1; return model; }