// GET: /DSR/DsrCreate public ActionResult DsrCreate() { DSR dsr = new DSR(); #region populaobjetos 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 DSRViewModel dsrVM = new DSRViewModel(dsr, lojaSelectListItem); return View(dsrVM); }
public ActionResult DsrCreateConfirmed(DSR dsr) { try { dsr = ObtemDsrForm(dsr, true); if (ModelState.IsValid) { DSR dsrExiste = new DSR(); dsrExiste = null; if (dsr.STATUS == "A") { dsrExiste = DsrAtivaVigente(dsr); } if (dsrExiste == null || dsr.STATUS == "I") { _dsrAppService.Create(dsr); } else { throw new InvalidOperationException("Já existe um perído vigente e ativo que coincide com a tentativa de inclusão / alteração"); } return RedirectToAction("DsrIndex"); } } 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(dsr); }
public DSRViewModel(DSR dsr, IEnumerable<SelectListItem> lojaSelectListItem) { Dsr = dsr; LojasSelectListItem = lojaSelectListItem; }
public DSRViewModel(DSR dsr, Loja loja) { Dsr = dsr; Loja = loja; }
private DSR ObtemDsrForm(DSR dsr, bool insert = false) { dsr.CODIGOLOJAALTERNATE = Request["Dsr.CODIGOLOJAALTERNATE"]; dsr.PERCENTUAL = Convert.ToDecimal(Request["Dsr.PERCENTUAL"]); dsr.DT_INI = Convert.ToDateTime(Request["Dsr.DT_INI"]); dsr.DT_FIM = Convert.ToDateTime(Request["Dsr.DT_FIM"]); dsr.STATUS = Request["Dsr.STATUS"]; dsr.LAST_MODIFY_DATE = DateTime.Now; dsr.LAST_MODIFY_USERNAME = _controleacessoAppService.ObtainCurrentLoginFromAd(); if (insert) { dsr.CREATED_DATETIME = dsr.LAST_MODIFY_DATE; dsr.CREATED_USERNAME = dsr.LAST_MODIFY_USERNAME; } return dsr; }
private DSR DsrAtivaVigente(DSR dsr) { return _dsrAppService.Find(t => t.CODIGOLOJAALTERNATE == dsr.CODIGOLOJAALTERNATE && t.STATUS == "A" && ( (t.DT_INI <= dsr.DT_INI && t.DT_FIM >= dsr.DT_INI) || (t.DT_FIM <= dsr.DT_INI && t.DT_FIM >= dsr.DT_FIM) || (dsr.DT_INI <= t.DT_INI && dsr.DT_FIM >= t.DT_FIM) ) ).FirstOrDefault(); }
public ActionResult DsrEditConfirmed(int? id) { if (id == null) { //return new HttpStatusCodeResult(HttpStatusCode.BadRequest); throw new Exception(); } var dsrToUpdate = _dsrAppService.Get(id ?? default(int)); dsrToUpdate = ObtemDsrForm(dsrToUpdate); if (ModelState.IsValid) { try { DSR dsrExiste = new DSR(); dsrExiste = null; if (dsrToUpdate.STATUS == "A") { dsrExiste = DsrAtivaVigente(dsrToUpdate); } if (dsrExiste == null || dsrToUpdate.STATUS == "I") { _dsrAppService.Update(dsrToUpdate); } else { throw new InvalidOperationException("Já existe um perído vigente e ativo que coincide com a tentativa de inclusão / alteração"); } return RedirectToAction("DsrIndex"); } 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(dsrToUpdate); }