public HttpResponseMessage Concluir(CadSolProd obj)
        {
            var context = new AlvoradaContext();
            var result  = context.CadSolProdutos.Where(x => x.Id == obj.Id).FirstOrDefault();

            try
            {
                context.Entry(result).State = EntityState.Modified;
                result.IdStatus             = 6;
                var log = new CadSolProdLog
                {
                    IdCadSolProd = obj.Id,
                    IdStatus     = 6,
                    DataLog      = DateTime.Now,
                    IdUsuario    = obj.IdUsuario
                };
                context.CadSolProdLogs.Add(log);
                context.SaveChanges();
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public HttpResponseMessage AprovarDiretoria(CadSolProd obj)
        {
            var context      = new AlvoradaContext();
            var emailService = new EmailService();
            var result       = context.CadSolProdutos.Where(x => x.Id == obj.Id).FirstOrDefault();

            try
            {
                context.Entry(result).State = EntityState.Modified;
                result.IdStatus             = 4;
                var log = new CadSolProdLog
                {
                    IdCadSolProd = obj.Id,
                    IdStatus     = 4,
                    DataLog      = DateTime.Now,
                    IdUsuario    = obj.IdUsuario
                };
                context.CadSolProdLogs.Add(log);
                context.SaveChanges();
                //emailService.SendEmail("*****@*****.**", "Cadastro de Produto - Pendente");
                emailService.SendEmail("*****@*****.**", "Novo Cadastro de Produto - Pendente", emailService.BodySolicitacaoCadastro());
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public HttpResponseMessage Lock(CadSolProd obj)
        {
            var context = new AlvoradaContext();

            try
            {
                context.Entry(obj).State = EntityState.Modified;
                context.SaveChanges();
            }

            catch (Exception ex)
            {
                throw ex;
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public HttpResponseMessage Incluir([FromBody] CadSolProd obj)
        {
            var context      = new AlvoradaContext();
            var emailService = new EmailService();

            try
            {
                obj.IdStatus    = 1;
                obj.DataCriacao = DateTime.Now;
                context.CadSolProdutos.Add(obj);
                context.SaveChanges();
                emailService.SendEmail("*****@*****.**", "Nova Aprovação de Cadastro de Produto - Pendente", emailService.BodySolicitacaoCadastro());
                //emailService.SendEmail("*****@*****.**", "Aprovação de Cadastro de Produto - Pendente");
                //emailService.SendEmail("*****@*****.**", "Nova Aprovação de Cadastro de Produto - Pendente");
            }


            catch (DbEntityValidationException e)
            {
                foreach (var eve in e.EntityValidationErrors)
                {
                    Console.WriteLine("Entidade do tipo \"{0}\" no estado \"{1}\" tem os seguintes erros de validação:",
                                      eve.Entry.Entity.GetType().Name, eve.Entry.State);
                    foreach (var ve in eve.ValidationErrors)
                    {
                        Console.WriteLine("- Property: \"{0}\", Erro: \"{1}\"",
                                          ve.PropertyName, ve.ErrorMessage);
                    }
                }
                throw;
            }

            //catch (Exception ex)
            //{
            //    throw ex;
            //}

            return(Request.CreateResponse(HttpStatusCode.OK));
        }