// GET: /SelfService/SelfServiceCreate public ActionResult SelfServiceCreate() { SelfService selfService = new SelfService(); #region populaobjetos var cargos = _cargoAppService.Find(t => t.CodigoCargoAlternate.Trim() != "NA" && t.CodigoCargoAlternate.Trim() != "DS"); IEnumerable<SelectListItem> cargoSelectListItem = new SelectList(cargos, "CodigoCargoAlternate", "NomeCargo"); ViewBag.CodigoCargoAlternate = new SelectList(cargos, "CodigoCargoAlternate", "NomeCargo"); var lojas = _lojaAppService.Find(t => t.CodigoLojaAlternate.Trim() != "-2" && t.CodigoLojaAlternate.Trim() != "-1"); ; IEnumerable<SelectListItem> lojaSelectListItem = new SelectList(lojas, "CodigoLojaAlternate", "NomeLoja"); ViewBag.CODIGOLOJAALTERNATE = new SelectList(lojas, "CodigoLojaAlternate", "NomeLoja"); #endregion populaobjetos SelfServiceViewModel selfServiceVM = new SelfServiceViewModel(selfService, cargoSelectListItem, lojaSelectListItem); return View(selfServiceVM); }
public ActionResult SelfServiceCreateConfirmed(SelfService selfservice) { try { selfservice = ObtemSelfServiceForm(selfservice, true); if (ModelState.IsValid) { SelfService selfserviceExiste = new SelfService(); selfserviceExiste = null; if (selfservice.STATUS == "A") { selfserviceExiste = SelfServiceAtivaVigente(selfservice); } if (selfserviceExiste == null || selfservice.STATUS == "I") { _selfserviceAppService.Create(selfservice); } else { throw new InvalidOperationException("Já existe um perído vigente e ativo que coincide com a tentativa de inclusão / alteração"); } return RedirectToAction("SelfServiceIndex"); } } catch (RetryLimitExceededException /* dex */) { //Log the error (uncomment dex variable name and add a line here to write a log. ModelState.AddModelError("", "Erro ao salvar. Tente novamente ou, se o problema persistir, entre em contato com o suporte."); } return View(selfservice); }
public SelfServiceViewModel(SelfService selfService, IEnumerable<SelectListItem> cargoSelectListItem, IEnumerable<SelectListItem> lojaSelectListItem) { SelfService = selfService; CargoSelectListItem = cargoSelectListItem; LojaSelectListItem = lojaSelectListItem; }
public SelfServiceViewModel(SelfService selfService, Cargo cargo, Loja loja) { SelfService = selfService; Cargo = cargo; Loja = loja; }
private SelfService SelfServiceAtivaVigente(SelfService ss) { return _selfserviceAppService.Find(t => t.CODIGOCARGOALTERNATE == ss.CODIGOCARGOALTERNATE && t.CODIGOLOJAALTERNATE == ss.CODIGOLOJAALTERNATE && t.STATUS == "A" && ( (t.DT_INI <= ss.DT_INI && t.DT_FIM >= ss.DT_INI) || (t.DT_FIM <= ss.DT_INI && t.DT_FIM >= ss.DT_FIM) || (ss.DT_INI <= t.DT_INI && ss.DT_FIM >= t.DT_FIM) ) ).FirstOrDefault(); }
private SelfService ObtemSelfServiceForm(SelfService ss, bool insert = false) { ss.CODIGOCARGOALTERNATE = Request["SelfService.CODIGOCARGOALTERNATE"]; ss.CODIGOLOJAALTERNATE = Request["SelfService.CODIGOLOJAALTERNATE"]; ss.DT_INI = Convert.ToDateTime(Request["SelfService.DT_INI"]); ss.DT_FIM = Convert.ToDateTime(Request["SelfService.DT_FIM"]); ss.STATUS = Request["SelfService.STATUS"]; ss.LAST_MODIFY_DATE = DateTime.Now; ss.LAST_MODIFY_USERNAME = _controleacessoAppService.ObtainCurrentLoginFromAd(); if (insert) { ss.CREATED_DATETIME = ss.LAST_MODIFY_DATE; ss.CREATED_USERNAME = ss.LAST_MODIFY_USERNAME; } return ss; }
public ActionResult SelfServiceEditConfirmed(int? id) { if (id == null) { //return new HttpStatusCodeResult(HttpStatusCode.BadRequest); throw new Exception(); } var selfserviceToUpdate = _selfserviceAppService.Get(id ?? default(int)); selfserviceToUpdate = ObtemSelfServiceForm(selfserviceToUpdate); if (ModelState.IsValid) { try { SelfService selfserviceExiste = new SelfService(); selfserviceExiste = null; if (selfserviceToUpdate.STATUS == "A") { selfserviceExiste = SelfServiceAtivaVigente(selfserviceToUpdate); } if (selfserviceExiste == null || selfserviceToUpdate.STATUS == "I") { _selfserviceAppService.Update(selfserviceToUpdate); } else { throw new InvalidOperationException("Já existe um perído vigente e ativo que coincide com a tentativa de inclusão / alteração"); } return RedirectToAction("SelfServiceIndex"); } catch (RetryLimitExceededException /* dex */) { //Log the error (uncomment dex variable name and add a line here to write a log. ModelState.AddModelError("", "Erro na alteração. Tente novamente ou, se o problema persistir, entre em contato com o suporte."); } } return View(selfserviceToUpdate); }