public ActionResult Edit(RetiradaViewModel retiradaViewModel)
        {
            string index = Url.Action("Index", "Retirada");
            if (ModelState.IsValid)
            {
                //var envelopeInserido =
                //   _retiradaAppService.Find(
                //       x => x.NumeroEnvelope.ToLower().Equals(retiradaViewModel.NumeroEnvelope.ToLower())).FirstOrDefault();

                //if (envelopeInserido != null)
                //{
                //    if (envelopeInserido.Id != retiradaViewModel.Id)
                //    {
                //        var mensagemErro = string.Format("Já existe uma retirada para o envelope {0}!",
                //            retiradaViewModel.NumeroEnvelope);
                //        TempData["MessageError"] = mensagemErro;
                       
                //        return Json(new { sucess = false, url = index, mensagem = mensagemErro });
                //    }
                //}


                decimal valorConvertido;
                retiradaViewModel.DataHoraRegistro = _caixaAppService.ObtemDataOperacao(TimeZoneHelper.DataAtualBrasil());
                retiradaViewModel.ValorString = retiradaViewModel.ValorString.Replace("R$ ", "");
                if (Decimal.TryParse(retiradaViewModel.ValorString, out valorConvertido))
                    retiradaViewModel.Valor = valorConvertido;

                var retirada = Mapper.Map<RetiradaViewModel, Retirada>(retiradaViewModel);
                _retiradaAppService.Update(retirada);

                var mensagem = string.Format("Retirada do envelope {0} atualizada com sucesso!", retiradaViewModel.NumeroEnvelope);
                TempData["MessageSuccess"] = mensagem;

                return Json(new { sucess = true, url = index, mensagem });
            }

            return PartialView("_Edit", retiradaViewModel);
        }
        public ActionResult Create(RetiradaViewModel retiradaViewModel)
        {
            if (ModelState.IsValid)
            {
                var envelopeInserido =
                    _retiradaAppService.Find(
                        x => x.NumeroEnvelope.ToLower().Equals(retiradaViewModel.NumeroEnvelope.ToLower())).FirstOrDefault();

                if (envelopeInserido != null)
                {
                    TempData["MessageError"] = string.Format("Já existe uma retirada para o envelope {0}!", retiradaViewModel.NumeroEnvelope);
                    return RedirectToAction("Index");
                }


                decimal valorConvertido;
                retiradaViewModel.DataHoraRegistro = _caixaAppService.ObtemDataOperacao(TimeZoneHelper.DataAtualBrasil());
                retiradaViewModel.ValorString = retiradaViewModel.ValorString.Replace("R$ ", "");
                if (Decimal.TryParse(retiradaViewModel.ValorString, out valorConvertido))
                    retiradaViewModel.Valor = valorConvertido;

                var retirada = Mapper.Map<RetiradaViewModel, Retirada>(retiradaViewModel);
                _retiradaAppService.Add(retirada);

                var mensagem = string.Format("Retirada do envelope {0} realizada com sucesso!", retiradaViewModel.NumeroEnvelope);
                TempData["MessageSuccess"] = mensagem;

                return RedirectToAction("Index");
            }

            MontaTelaInicialRetirada();
            return PartialView("_Create", retiradaViewModel);
        }