public ActionResult CategoriaPercentualCreateConfirmed(CategoriaPercentual categoriapercentual) { try { categoriapercentual = ObtemCategoriaPercentualForm(categoriapercentual, true); if (ModelState.IsValid) { CategoriaPercentual categoriapercentualExiste = new CategoriaPercentual(); categoriapercentualExiste = null; if (categoriapercentual.STATUS == "A") { categoriapercentualExiste = CategoriaPercentualAtivaVigente(categoriapercentual); } if (categoriapercentualExiste == null || categoriapercentual.STATUS == "I") { _categoriapercentualAppService.Create(categoriapercentual); } else { throw new InvalidOperationException("Já existe um perído vigente e ativo que coincide com a tentativa de inclusão / alteração"); } return RedirectToAction("CategoriaPercentualIndex"); } } 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(categoriapercentual); }
// GET: /CategoriaPercentual/CategoriaPercentualCreate public ActionResult CategoriaPercentualCreate() { CategoriaPercentual categoriapercentual = new CategoriaPercentual(); //#region populaobjetos //var categorias = _categoriaAppService.Find(t => t.STATUS == "A"); //IEnumerable<SelectListItem> categoriaSelectListItem = new SelectList(categorias, "ID_CATEGORIA", "DESC_CATEGORIA"); //ViewBag.ID_CATEGORIA = new SelectList(categorias, "ID_CATEGORIA", "DESC_CATEGORIA"); //var lojas = _lojaAppService.Find(t => t.CodigoLojaAlternate.Trim() != "-2" && t.CodigoLojaAlternate.Trim() != "-1"); ; //IEnumerable<SelectListItem> lojaSelectListItem = new SelectList(lojas, "CodigoLojaAlternate", "NomeLoja"); //ViewBag.ID_PLANO = new SelectList(lojas, "CodigoLojaAlternate", "NomeLoja"); //#endregion populaobjetos //CategoriaPercentualViewModel categoriaPercentualVM = new CategoriaPercentualViewModel(categoriapercentual, categoriaSelectListItem, lojaSelectListItem); CategoriaPercentualViewModel categoriaPercentualVM = new CategoriaPercentualViewModel(categoriapercentual); return View(categoriaPercentualVM); }
//public IEnumerable<SelectListItem> CategoriasSelectListItem { get; set; } //public IEnumerable<SelectListItem> LojasSelectListItem { get; set; } public CategoriaPercentualViewModel(CategoriaPercentual categoriaPercentual) { CategoriaPercentual = categoriaPercentual; }
private CategoriaPercentual ObtemCategoriaPercentualForm(CategoriaPercentual cp, bool insert = false) { //cp.ID_CATEGORIA = Convert.ToInt32(Request["CategoriaPercentual.ID_CATEGORIA"]); cp.ATRIBUTO = Request["CategoriaPercentual.ATRIBUTO"]; //cp.CODIGOLOJAALTERNATE = Request["CategoriaPercentual.CODIGOLOJAALTERNATE"]; cp.PERCENTUAL = Convert.ToDecimal(Request["CategoriaPercentual.PERCENTUAL"]); cp.DT_INI = Convert.ToDateTime(Request["CategoriaPercentual.DT_INI"]); cp.DT_FIM = Convert.ToDateTime(Request["CategoriaPercentual.DT_FIM"]); cp.STATUS = Request["CategoriaPercentual.STATUS"]; cp.LAST_MODIFY_DATE = DateTime.Now; cp.LAST_MODIFY_USERNAME = _controleacessoAppService.ObtainCurrentLoginFromAd(); if (insert) { cp.CREATED_DATETIME = cp.LAST_MODIFY_DATE; cp.CREATED_USERNAME = cp.LAST_MODIFY_USERNAME; } return cp; }
private CategoriaPercentual CategoriaPercentualAtivaVigente(CategoriaPercentual cp) { return _categoriapercentualAppService.Find(t => t.ID_PLANO_CATEGORIA == cp.ID_PLANO_CATEGORIA && t.ATRIBUTO == cp.ATRIBUTO && t.STATUS == "A" && ( (t.DT_INI <= cp.DT_INI && t.DT_FIM >= cp.DT_INI) || (t.DT_FIM <= cp.DT_INI && t.DT_FIM >= cp.DT_FIM) || (cp.DT_INI <= t.DT_INI && cp.DT_FIM >= t.DT_FIM) ) ).FirstOrDefault(); }
public ActionResult CategoriaPercentualEditConfirmed(int? id) { if (id == null) { //return new HttpStatusCodeResult(HttpStatusCode.BadRequest); throw new Exception(); } var categoriapercentualToUpdate = _categoriapercentualAppService.Get(id ?? default(int)); categoriapercentualToUpdate = ObtemCategoriaPercentualForm(categoriapercentualToUpdate); if (ModelState.IsValid) { try { CategoriaPercentual categoriapercentualExiste = new CategoriaPercentual(); categoriapercentualExiste = null; if (categoriapercentualToUpdate.STATUS == "A") { categoriapercentualExiste = CategoriaPercentualAtivaVigente(categoriapercentualToUpdate); } if (categoriapercentualExiste == null || categoriapercentualToUpdate.STATUS == "I") { _categoriapercentualAppService.Update(categoriapercentualToUpdate); } else { throw new InvalidOperationException("Já existe um perído vigente e ativo que coincide com a tentativa de inclusão / alteração"); } //<REVER> //return RedirectToAction("CategoriaPercentualIndex"); return RedirectToAction("Index", "Home"); } 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(categoriapercentualToUpdate); }