public IHttpActionResult Novo(CondicaoPagamentoClass condicaoPagamento)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                ValidateTipo(condicaoPagamento, true);

                var condicao = condicaoPagamento.mapToModel(true);

                db.CondicaoPagamentos.Add(condicao);
                db.SaveChanges();

                condicaoPagamento.mapFromModel(condicao);
            }
            catch (Exception e)
            {
                return(Util.ResponseError(Request, e));
            }

            return(Util.ResponseSuccess(Request, condicaoPagamento, "Condição de Pagamento inserida com sucesso!"));
        }
 private void ValidateTipo(CondicaoPagamentoClass condicaoPagamento, bool create)
 {
     if (condicaoPagamento.Tipo == 0 && create)
     {
         throw new Exception("O Tipo deve ser entre 1 e 3!");
     }
     else if ((condicaoPagamento.Tipo < 1 || condicaoPagamento.Tipo > 3) && create)
     {
         throw new Exception("O Tipo deve ser entre 1 e 3!");
     }
 }
        public IHttpActionResult Get(long id)
        {
            var condicao = db.CondicaoPagamentos.Find(id);

            if (condicao == null)
            {
                return(Util.ResponseError(Request, "Condição de Pagamento não encontrado!"));
            }
            BaseClass condicaoPagamento = new CondicaoPagamentoClass().mapFromModel(condicao);

            return(Util.ResponseSuccess(Request, condicaoPagamento, "Sucesso"));
        }
        public IHttpActionResult Get()
        {
            var condicoes    = db.CondicaoPagamentos.OrderBy(c => c.Descricao).ToList();
            var condicaoList = new List <BaseClass>();

            foreach (var cond in condicoes)
            {
                var condicao = new CondicaoPagamentoClass();
                condicao.mapFromModel(cond);
                condicaoList.Add(condicao);
            }

            return(Util.ResponseSuccess(Request, condicaoList, "Sucesso"));
        }
        public IHttpActionResult Update(long id, CondicaoPagamentoClass condicaoPagamento)
        {
            CondicaoPagamento condicao = db.CondicaoPagamentos.Find(id);

            try
            {
                ValidateTipo(condicaoPagamento, false);

                if (condicao != null)
                {
                    condicaoPagamento.mapToModel(condicao);

                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                return(Util.ResponseError(Request, e));
            }

            condicaoPagamento.mapFromModel(condicao);

            return(Util.ResponseSuccess(Request, condicaoPagamento, "Condição de Pagamento atualizada com sucesso!"));
        }