コード例 #1
0
        public IActionResult Creditar(MovimentacaoModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            try
            {
                _movimentacaoApplication.Creditar(model);

                if (model.IdMovimentacao > 0)
                {
                    return(RedirectToAction("Index", "ContaCorrente"));
                }
                else if (model.MensagemValidacao != null && model.MensagemValidacao.Count > 0)
                {
                    foreach (var item in model.MensagemValidacao)
                    {
                        string message = string.Format("Atenção: {0}", item);
                        ModelState.AddModelError(string.Empty, message);
                    }
                }
            }
            catch (Exception ex)
            {
                string message = string.Format("Atenção: {0}", ex.Message);
                ModelState.AddModelError(string.Empty, message);
            }

            return(View(model));
        }
コード例 #2
0
        public ActionResult Aporte(int id_conta, [FromBody] MovimentacaoModel dados)
        {
            ReturnAllServices retorno = new ReturnAllServices();

            try
            {
                AutenticacaoServico.Autenticar();
                ContaModel conta_mov = new ContaModel().GetConta(id_conta);

                if (conta_mov.Tipo_conta != "M")
                {
                    retorno.Result       = false;
                    retorno.ErrorMessage = "Aporte não pode ser realizado para conta Filial.";
                    return(StatusCode(403, retorno));
                }
                else
                {
                    dados.RealizarMovimentacao(id_conta);
                    retorno.Result       = true;
                    retorno.ErrorMessage = "Aporte realizado com sucesso.";
                }
            }
            catch (Exception ex)
            {
                retorno.Result       = false;
                retorno.ErrorMessage = "Erro ao tentar realizar aporte: " + ex.Message;
                return(StatusCode(500, retorno));
            }
            return(StatusCode(200, retorno));
        }
コード例 #3
0
        public IActionResult Creditar(int idConta)
        {
            var model = new MovimentacaoModel();

            model.ContaId = idConta;

            return(View(model));
        }
コード例 #4
0
        public void Debitar(MovimentacaoModel entity)
        {
            var obj = entity.MapTo <Movimentacao>();

            _contaCorrenteService.Debitar(obj);

            entity.IdMovimentacao    = obj.IdMovimentacao;
            entity.MensagemValidacao = obj.MensagemValidacao;
        }
コード例 #5
0
        public IActionResult Detail(int?id)
        {
            var model = new MovimentacaoModel();

            if (id.HasValue && id != 0)
            {
                //model = _movimentacaoApplication.ObterPorId(Convert.ToInt32(id));
            }

            return(View(model));
        }
コード例 #6
0
 private Movimentacao TransformarViewModelParaMovimentacao(MovimentacaoModel mvm)
 {
     return(new Movimentacao()
     {
         Tipo = mvm.Tipo,
         Data = mvm.Data,
         Valor = mvm.Valor,
         Usuario = mvm.Usuario,
         UsuarioId = mvm.UsuarioId
     });
 }
コード例 #7
0
        private string InsertMovimentacao(MovimentacaoModel objeto)
        {
            StringBuilder insert = new StringBuilder();

            insert.Append("INSERT INTO movimentacao (id, descricao, bem, dataRegistro) ");

            insert.AppendFormat("VALUES('{0}', ", objeto.Codigo.ToString());
            insert.AppendFormat("'{0}', ", objeto.Descricao);
            insert.AppendFormat("{0}, ", "null");
            insert.AppendFormat("'{0}' )", objeto.DataRegistro.ToString("yyyyMMddHHmmss"));
            return(insert.ToString());
        }
コード例 #8
0
        public ActionResult Cadastro(MovimentacaoModel mvm)
        {
            if (ModelState.IsValid)
            {
                var movimentacao = TransformarViewModelParaMovimentacao(mvm);
                _applicationManager.MovimentacaoService.Adicionar(movimentacao);

                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.Usuarios = _applicationManager.UsuarioService.ListarTodos();
                return(RedirectToAction("Form", mvm));
            }
        }
コード例 #9
0
        public IActionResult Movimentacao(MovimentacaoModel item)
        {
            try
            {
                using (var servico = new ServicoDeMovimentacao())
                {
                    servico.Salve(item);
                }
                ViewData["Message"] = "Registro realizado com sucesso!";
            }
            catch (Exception e)
            {
                throw new Exception("Falha ao cadastrar!");
            }

            return(View());
        }
コード例 #10
0
        public ActionResult Transferir([FromBody] MovimentacaoModel dados)
        {
            ReturnAllServices retorno = new ReturnAllServices();

            try
            {
                AutenticacaoServico.Autenticar();
                ContaModel contaD = new ContaModel().GetConta(dados.Id_conta_debito);
                ContaModel contaC = new ContaModel().GetConta(dados.Id_conta_credito);

                if ((contaD.Tipo_conta == "F") && (contaC.Tipo_conta == "M"))
                {
                    retorno.Result       = false;
                    retorno.ErrorMessage = "Não é permitido efetuar transferencia de Conta Filial para Conta Matriz.";
                    return(StatusCode(403, retorno));
                }
                else if ((contaC.Tipo_conta == "M"))
                {
                    retorno.Result       = false;
                    retorno.ErrorMessage = "Não é permitido efetuar transferencia para Conta Matriz. Realize um Aporte.";
                    return(StatusCode(403, retorno));
                }
                else if (contaD.Saldo < dados.Valor)
                {
                    retorno.Result       = false;
                    retorno.ErrorMessage = $"Saldo insuficiente na Conta." + contaD.Id;
                    return(StatusCode(403, retorno));
                }
                else
                {
                    dados.Transferir();
                    retorno.Result       = true;
                    retorno.ErrorMessage = "Transferencia realizada com sucesso.";
                }
            }
            catch (Exception ex)
            {
                retorno.Result       = false;
                retorno.ErrorMessage = "Erro ao tentar efeturar transferencia: " + ex.Message;
                return(StatusCode(500, retorno));
            }
            return(StatusCode(200, retorno));
        }
コード例 #11
0
        public ActionResult Estornar(int id)
        {
            ReturnAllServices retorno = new ReturnAllServices();

            try
            {
                AutenticacaoServico.Autenticar();
                MovimentacaoModel.RealizarEstorno(id);
                retorno.Result       = true;
                retorno.ErrorMessage = "Estorno realizado com sucesso.";
            }
            catch (Exception ex)
            {
                retorno.Result       = false;
                retorno.ErrorMessage = "Erro ao tentar realizar estorno: " + ex.Message;
                return(StatusCode(500, retorno));
            }
            return(StatusCode(200, retorno));
        }
コード例 #12
0
        public async Task <DateTime> OcuparVaga(VagaDTO data)
        {
            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var vagaModel = _context.Vagas.Find(data.Id);

                    vagaModel.Ocupada = true;


                    _context.Update(vagaModel);
                    await _context.SaveChangesAsync();

                    MovimentacaoModel movimentacao = new MovimentacaoModel()
                    {
                        DataEntrada  = DateTime.Now,
                        IdVaga       = data.Id,
                        CpfCliente   = data.CpfCliente,
                        CorVeiculo   = data.CorVeiculo,
                        NomeCliente  = data.NomeCliente,
                        NomeVeiculo  = data.NomeVeiculo,
                        PlacaVeiculo = data.PlacaVeiculo
                    };
                    _context.Movimentacoes.Add(movimentacao);
                    await _context.SaveChangesAsync();

                    transaction.Commit();
                    return(movimentacao.DataEntrada);
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    throw;
                }
            }
        }