public IActionResult CriarEmpresa(FilterEmpresa filter)
        {
            try
            {
                if (String.IsNullOrEmpty(filter.NomeReal) || filter.NomeReal.Length < 3)
                {
                    throw new ArgumentException("Tamanho do nome insuficiente.");
                }

                if (filter.AgenciaBancaria <= 0 || filter.ContaBancaria <= 0)
                {
                    throw new ArgumentException("Dados bancários inválidos");
                }

                if (String.IsNullOrEmpty(filter.NomeFantasia))
                {
                    filter.NomeFantasia = filter.NomeReal;
                }

                Empresa empresa = new Empresa
                {
                    NomeFantasia    = filter.NomeFantasia,
                    NomeReal        = filter.NomeReal,
                    Telefone        = filter.Telefone,
                    Email           = filter.Email,
                    AgenciaBancaria = filter.AgenciaBancaria,
                    ContaBancaria   = filter.ContaBancaria
                };

                empresa.Cnpj = Empresa.ValidarCnpj(filter.Cnpj);
                if (empresa.Cnpj == null)
                {
                    throw new ArgumentException("Cnpj inválido");
                }

                _database.Empresas.Add(empresa);
                _database.SaveChanges();

                return(Created(Request.Path, empresa));
            }
            catch (Exception e) {
                return(BadRequest());
            }
        }
        public IActionResult AlterarEmpresa([FromQuery] int IdEmpresa, [FromBody] FilterEmpresa filter)
        {
            try
            {
                Empresa empresa = _database.Empresas.First(c => c.IdEmpresa == IdEmpresa);

                empresa.NomeFantasia    = filter.NomeFantasia;
                empresa.NomeReal        = filter.NomeReal;
                empresa.Telefone        = filter.Telefone;
                empresa.Email           = filter.Email;
                empresa.AgenciaBancaria = filter.AgenciaBancaria;
                empresa.ContaBancaria   = filter.ContaBancaria;

                _database.Empresas.Add(empresa);
                _database.SaveChanges();

                return(Ok());
            }
            catch (Exception)
            {
                return(BadRequest());
            }
        }