public async Task <Models.TbCartaoComentario> AdicionarComentarioCartaoAsync(Models.TbCartaoComentario tb)
        {
            await ctx.TbCartaoComentario.AddAsync(tb);

            await ctx.SaveChangesAsync();

            return(tb);
        }
        public Models.Response.CartaoComentarioResponse ToCartaoComentarioResponse(Models.TbCartaoComentario req)
        {
            Models.Response.CartaoComentarioResponse resp = new Models.Response.CartaoComentarioResponse();

            resp.IdCartao  = req.IdCartao;
            resp.IdUsuario = req.IdUsuario;

            return(resp);
        }
        public Models.TbCartaoComentario ToTbCartaoComentario(Models.Request.CartaoComentarioRequest req)
        {
            Models.TbCartaoComentario tb = new Models.TbCartaoComentario();

            tb.DsComentario = req.Comentario;
            tb.IdCartao     = req.IdCartao;
            tb.IdUsuario    = req.IdUsuario;

            return(tb);
        }
예제 #4
0
        public async Task <Models.TbCartaoComentario> ConsutarComentarioPorIdLoginAsync(int idLogin)
        {
            if (idLogin <= 0)
            {
                throw new Exception("ID do Login invalido.");
            }

            Models.TbCartaoComentario tbComentario = await cartaoComentarioDb.ConsutarComentarioPorIdLoginAsync(idLogin);

            return(tbComentario);
        }
예제 #5
0
        public async Task <Models.TbCartaoComentario> AdicionarComentarioCartaoAsync(Models.TbCartaoComentario tb)
        {
            this.ValidarComentarioCartaoRequest(tb);

            tb = await cartaoComentarioDb.AdicionarComentarioCartaoAsync(tb);

            if (tb.IdComentario <= 0)
            {
                throw new Exception("ID do comentario invalido.");
            }

            return(tb);
        }
        public async Task <ActionResult <Models.Response.CartaoComentarioResponse> > AlterarComentarioAsync(int idLogin, Models.Request.CartaoComentarioRequest req)
        {
            Models.TbCartaoComentario tbComentarioAtual = await cartaoBsn.ConsutarComentarioPorIdLoginAsync(idLogin);

            if (tbComentarioAtual == null)
            {
                return(NotFound());
            }

            Models.TbCartaoComentario tbComentarioNovo = cartaoCnv.ToTbCartaoComentario(req);

            tbComentarioAtual = await cartaoBsn.AlterarComentarioPorIdLoginAsync(idLogin, tbComentarioAtual, tbComentarioNovo);

            Models.Response.CartaoComentarioResponse resp = cartaoCnv.ToCartaoComentarioResponse(tbComentarioAtual);

            return(resp);
        }
        public async Task <ActionResult <Models.Response.CartaoComentarioResponse> > CadastrarComentarioAsync(Models.Request.CartaoComentarioRequest req)
        {
            try
            {
                Models.TbCartaoComentario tbComentario = cartaoCnv.ToTbCartaoComentario(req);

                tbComentario = await cartaoBsn.AdicionarComentarioCartaoAsync(tbComentario);

                Models.Response.CartaoComentarioResponse resp = cartaoCnv.ToCartaoComentarioResponse(tbComentario);

                return(resp);
            }
            catch (Exception e)
            {
                return(BadRequest(
                           new Models.Response.ErroResponse(400, e.Message)
                           ));
            }
        }
예제 #8
0
        public void ValidarComentarioCartaoRequest(Models.TbCartaoComentario tb)
        {
            if (tb.DsComentario == string.Empty)
            {
                throw new Exception("O Comentario não pode estra vazio.");
            }

            if (tb.DtInclusao > DateTime.Now)
            {
                throw new Exception("A Data esta invalida.");
            }

            if (tb.IdCartao <= 0)
            {
                throw new Exception("ID do quadro Invalido.");
            }

            if (tb.IdUsuario <= 0)
            {
                throw new Exception("ID do usuario invalido.");
            }
        }
        public async Task <ActionResult <Models.Response.CartaoComentarioResponse> > DeletarComentarioAsync(int idLogin, Models.Request.CartaoComentarioRequest req)
        {
            try
            {
                Models.TbCartaoComentario tbComentario = cartaoCnv.ToTbCartaoComentario(req);

                if (tbComentario == null)
                {
                    return(NotFound());
                }

                tbComentario = await cartaoBsn.DeletarComentarioPorIdLoginAsync(idLogin, tbComentario);

                Models.Response.CartaoComentarioResponse resp = cartaoCnv.ToCartaoComentarioResponse(tbComentario);

                return(resp);
            }
            catch (Exception e)
            {
                return(BadRequest(
                           new Models.Response.ErroResponse(404, e.Message)
                           ));
            }
        }
예제 #10
0
        public async Task <Models.TbCartaoComentario> AlterarComentarioPorIdLoginAsync(int idLogin, Models.TbCartaoComentario atual, Models.TbCartaoComentario novo)
        {
            this.ValidarComentarioCartaoRequest(atual);
            this.ValidarComentarioCartaoRequest(novo);

            if (atual.IdUsuarioNavigation.IdLogin != idLogin)
            {
                throw new Exception("Esse comentario não é seu.");
            }

            if (atual.DtInclusao.AddDays(1) < DateTime.Now)
            {
                throw new Exception("Esse comentario não pode mais ser alterado.");
            }

            atual = await cartaoComentarioDb.AlterarComentarioPorIdLoginAsync(idLogin, atual, novo);

            return(atual);
        }
예제 #11
0
        public async Task <Models.TbCartaoComentario> DeletarComentarioPorIdLoginAsync(int idLogin, Models.TbCartaoComentario tb)
        {
            if (tb.IdUsuarioNavigation.IdLogin != idLogin)
            {
                throw new Exception("Esse comentario não é seu.");
            }

            return(await cartaoComentarioDb.DeletarComentarioPorIdLoginAsync(tb));
        }
        public async Task <Models.TbCartaoComentario> DeletarComentarioPorIdLoginAsync(Models.TbCartaoComentario tb)
        {
            ctx.TbCartaoComentario.Remove(tb);
            await ctx.SaveChangesAsync();

            return(tb);
        }
        public async Task <Models.TbCartaoComentario> AlterarComentarioPorIdLoginAsync(int idLogin, Models.TbCartaoComentario atual, Models.TbCartaoComentario novo)
        {
            atual.DsComentario = novo.DsComentario;
            atual.DtInclusao   = DateTime.Now;

            await ctx.SaveChangesAsync();

            return(atual);
        }