예제 #1
0
        public ADSResposta Salvar(MovimentoView c)
        {
            var resposta = new ADSResposta();

            using (var db = DBCore.NovaInstanciaDoBanco())
            {
                using (var transacao = db.Database.BeginTransaction())
                {
                    try
                    {
                        Movimento novo = null;

                        if (!c.Codigo.Equals("0"))
                        {
                            var id = int.Parse(c.Codigo);
                            novo                     = db.Movimentos.Where(w => w.Codigo.Equals(id)).FirstOrDefault();
                            novo.Descricao           = c.Descricao;
                            novo.Data                = DateTime.Parse(c.Data);
                            novo.Valor               = c.Valor;
                            novo.CategoriaCodigo     = c.CategoriaCodigo;
                            novo.ContaCodigo         = c.ContaCodigo;
                            novo.TipoMovimentoCodigo = c.TipoMovimentoCodigo;
                            novo.Efetivado           = c.Efetivado ? "S" : "N";
                        }
                        else
                        {
                            novo                     = db.Movimentos.Create();
                            novo.Descricao           = c.Descricao;
                            novo.Data                = DateTime.Parse(c.Data);
                            novo.Valor               = c.Valor;
                            novo.CategoriaCodigo     = c.CategoriaCodigo;
                            novo.ContaCodigo         = c.ContaCodigo;
                            novo.TipoMovimentoCodigo = c.TipoMovimentoCodigo;
                            novo.Efetivado           = c.Efetivado ? "S" : "N";

                            db.Movimentos.Add(novo);
                        }

                        db.SaveChanges();
                        c.Codigo         = novo.Codigo.ToString();
                        resposta.Sucesso = true;
                        resposta.Objeto  = c;
                        transacao.Commit();
                    }
                    catch (Exception ex)
                    {
                        transacao.Rollback();
                        resposta.Sucesso  = false;
                        resposta.Mensagem = ex.Message;
                    }
                }
            }
            return(resposta);
        }
예제 #2
0
        public ADSResposta Excluir(CategoriaView c)
        {
            var resposta = new ADSResposta();

            using (var db = DBCore.NovaInstanciaDoBanco())
            {
                using (var transacao = db.Database.BeginTransaction())
                {
                    try
                    {
                        var id        = int.Parse(c.Codigo);
                        var categoria = db.Categorias.Where(w => w.Codigo.Equals(id)).FirstOrDefault();

                        if (categoria == null)
                        {
                            resposta.Sucesso  = false;
                            resposta.Objeto   = c;
                            resposta.Mensagem = "Categoria não encontrada.";
                        }
                        else
                        {
                            db.Categorias.Remove(categoria);
                            db.SaveChanges();

                            resposta.Sucesso = true;
                            resposta.Objeto  = c;
                            transacao.Commit();
                        }
                    }
                    catch (Exception ex)
                    {
                        transacao.Rollback();
                        resposta.Sucesso  = false;
                        resposta.Mensagem = ex.Message;
                    }
                }
            }
            return(resposta);
        }