public IActionResult Post([FromBody] DelegadoDTO delegadoTemp)
        {
            try
            {
                if (delegadoTemp.Nome.Length <= 1)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult(new { msg = "O nome de delegado deve ter mais de um caracter" }));
                }

                if (delegadoTemp.CPF.Length != 11)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult(new { msg = "O CPF deve ter 11 (onze) digitos" }));
                }

                if (delegadoTemp.Funcional.Length <= 1)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult(new { msg = "A funcional do delegado deve ter mais de um caracter" }));
                }

                if (delegadoTemp.Turno.Length <= 1)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult(new { msg = "O turno de delegado deve ter mais de um caracter" }));
                }

                Delegado delegado = new Delegado();

                delegado.Nome      = delegadoTemp.Nome;
                delegado.CPF       = delegadoTemp.CPF;
                delegado.Funcional = delegadoTemp.Funcional;
                delegado.Turno     = delegadoTemp.Turno;
                delegado.Status    = true;

                database.delegados.Add(delegado);
                database.SaveChanges();

                Response.StatusCode = 201;
                return(new ObjectResult(""));
            }
            catch (Exception)
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new { msg = "Todos campos devem ser passados" }));
            }
        }
        public IActionResult Patch([FromBody] DelegadoDTO delegadoTemp)
        {
            if (delegadoTemp.Id > 0)
            {
                try
                {
                    var del = database.delegados.First(d => d.Id == delegadoTemp.Id);

                    if (del != null)
                    {
                        del.Nome      = delegadoTemp.Nome != null ? delegadoTemp.Nome : del.Nome;
                        del.CPF       = delegadoTemp.CPF != null ? delegadoTemp.CPF : del.CPF;
                        del.Funcional = delegadoTemp.Funcional != null ? delegadoTemp.Funcional : del.Funcional;
                        del.Turno     = delegadoTemp.Turno != null ? delegadoTemp.Turno : del.Turno;
                        database.SaveChanges();

                        return(Ok());
                    }
                    else
                    {
                        Response.StatusCode = 400;
                        return(new ObjectResult("Delegado não encontrada"));
                    }
                }
                catch (Exception)
                {
                    Response.StatusCode = 400;
                    return(new ObjectResult("Delegado não encontrada"));
                }
            }
            else
            {
                Response.StatusCode = 400;
                return(new ObjectResult(new { msg = "Id da delegado é inválido" }));
            }
        }