public Resultado Atualizar(ResultadoSocioAmbiental dados)
        {
            Resultado resultado = DadosValidos(dados);

            resultado.Acao = "Atualização de Resultado SocioAmbiental";

            if (resultado.Inconsistencias.Count == 0)
            {
                ResultadoSocioAmbiental ResultadoSocioAmbiental = _context.ResultadosSocioAmbiental.Where(
                    p => p.Id == dados.Id).FirstOrDefault();

                if (ResultadoSocioAmbiental == null)
                {
                    resultado.Inconsistencias.Add(
                        "Resultado SocioAmbiental não encontrado");
                }
                else
                {
                    ResultadoSocioAmbiental.Tipo            = !Enum.IsDefined(typeof(TipoIndicador), dados.Tipo) ? ResultadoSocioAmbiental.Tipo : dados.Tipo;
                    ResultadoSocioAmbiental.Desc            = (dados.Desc == null) ? ResultadoSocioAmbiental.Desc : dados.Desc;
                    ResultadoSocioAmbiental.Positivo        = (dados.Positivo == null) ? ResultadoSocioAmbiental.Positivo : dados.Positivo;
                    ResultadoSocioAmbiental.TecnicaPrevista = (dados.TecnicaPrevista == null) ? ResultadoSocioAmbiental.TecnicaPrevista : dados.TecnicaPrevista;
                    _context.SaveChanges();
                }
            }

            return(resultado);
        }
        private Resultado DadosValidos(ResultadoSocioAmbiental dados)
        {
            var resultado = new Resultado();

            if (dados == null)
            {
                resultado.Inconsistencias.Add("Preencha os Dados do Resultado SocioAmbiental");
            }

            return(resultado);
        }
 public ActionResult <Resultado> Post([FromBody] ResultadoSocioAmbiental ResultadoSocioAmbiental)
 {
     if (_service.UserProjectCan(ResultadoSocioAmbiental.ProjetoId, User, Authorizations.ProjectPermissions.LeituraEscrita))
     {
         var resultado = _service.Incluir(ResultadoSocioAmbiental);
         if (resultado.Sucesso)
         {
             this.CreateLog(_service, ResultadoSocioAmbiental.ProjetoId, ResultadoSocioAmbiental);
         }
         return(resultado);
     }
     return(Forbid());
 }
        public Resultado Incluir(ResultadoSocioAmbiental dados)
        {
            Resultado resultado = DadosValidos(dados);

            resultado.Acao = "Inclusão de Resultado SocioAmbiental";

            if (resultado.Inconsistencias.Count == 0)
            {
                _context.ResultadosSocioAmbiental.Add(dados);
                _context.SaveChanges();
                resultado.Id = dados.Id.ToString();
            }
            return(resultado);
        }
        public ActionResult <Resultado> Put([FromBody] ResultadoSocioAmbiental ResultadoSocioAmbiental)
        {
            var Resultado = _service._context.ResultadosSocioAmbiental.Find(ResultadoSocioAmbiental.Id);

            if (_service.UserProjectCan(Resultado.ProjetoId, User, Authorizations.ProjectPermissions.LeituraEscrita))
            {
                _service._context.Entry(Resultado).State = Microsoft.EntityFrameworkCore.EntityState.Detached;
                var resultado = _service.Atualizar(ResultadoSocioAmbiental);
                if (resultado.Sucesso)
                {
                    this.CreateLog(_service, Resultado.ProjetoId, ResultadoSocioAmbiental, Resultado);
                }
                return(resultado);
            }
            return(Forbid());
        }
        public Resultado Excluir(int id)
        {
            Resultado resultado = new Resultado();

            resultado.Acao = "Exclusão de Resultado SocioAmbiental";

            ResultadoSocioAmbiental ResultadoSocioAmbiental = _context.ResultadosSocioAmbiental.FirstOrDefault(p => p.Id == id);

            if (ResultadoSocioAmbiental == null)
            {
                resultado.Inconsistencias.Add("Resultado SocioAmbiental não encontrado");
            }
            else
            {
                _context.ResultadosSocioAmbiental.Remove(ResultadoSocioAmbiental);
                _context.SaveChanges();
            }

            return(resultado);
        }