示例#1
0
        // 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);
        }
示例#2
0
        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);
        }
示例#3
0
 public DSRViewModel(DSR dsr, IEnumerable<SelectListItem> lojaSelectListItem)
 {
     Dsr = dsr;
     LojasSelectListItem = lojaSelectListItem;
 }
示例#4
0
 public DSRViewModel(DSR dsr, Loja loja)
 {
     Dsr = dsr;
     Loja = loja;
 }
示例#5
0
        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;
        }
示例#6
0
 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();
 }
示例#7
0
        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);
        }