示例#1
0
        public string CadastrarFornecedor(int empresaId, string nome, string cpfcnpj, String[] telefones, string rg, DateTime?datanascimento)
        {
            try
            {
                if (cpfcnpj.Length == 11)
                {
                    if (rg == null || datanascimento == null)
                    {
                        return("Necessário cadastrar o RG e a data de nascimento para pessoas físicas!");
                    }

                    else if (context.Empresas.Find(empresaId).UF == "PR" && DateTime.Now.AddYears(-18) < datanascimento)
                    {
                        return("Caso a empresa seja do Paraná, não é possível cadastrar um fornecedor pessoa física menor de idade;");
                    }
                }

                //Usando objeto de transação TRANSACTIONSCOPE para evitar
                //erros no meio da operação e gravar apenas telefones.
                using (TransactionScope ts = new TransactionScope())
                {
                    Fornecedor fornecedor = new Fornecedor();
                    fornecedor.EmpresaID      = empresaId;
                    fornecedor.Nome           = nome;
                    fornecedor.CpfCnpj        = cpfcnpj;
                    fornecedor.DataDeCadastro = DateTime.Now;
                    fornecedor.RG             = rg;
                    fornecedor.DataNascimento = datanascimento.Value;
                    context.Fornecedores.Add(fornecedor);
                    context.SaveChanges();

                    //Looping para adicionar todos os telefones da lista
                    List <Telefone> telefonesList = new List <Telefone>();
                    foreach (String telefone in telefones)
                    {
                        Telefone tel = new Telefone();
                        tel.NumeroTelefone = telefone;
                        tel.Fornecedor     = fornecedor;
                        context.Telefones.Add(tel);
                        telefonesList.Add(tel);
                        context.SaveChanges();
                    }

                    ts.Complete();
                    return("Fornecedor inserido com sucesso!");
                }
            }
            catch (Exception ex)
            {
                return("Erro ao tentar cadastrar um fornecedor : " + ex.Message);
            };
        }
        public string CadastrarEmpresa(string cnpj, string nomeFantasia, string UF)
        {
            try
            {
                if (cnpj.Length != 14)
                {
                    return("O Cnpj está com o número de digitos incorretos, verifique se você incluiu pontuação!");
                }

                Empresa empresa = new Empresa();
                empresa.CNPJ         = cnpj;
                empresa.NomeFantasia = nomeFantasia;
                empresa.UF           = UF;
                context.Empresas.Add(empresa);
                context.SaveChanges();
                return("Empresa cadastrada com sucesso!");
            }
            catch (Exception ex)
            {
                return("Erro ao tentar cadastrar uma empresa : " + ex.Message);
            };
        }
示例#3
0
 public virtual void SaveChanges()
 {
     _repositoryBase.SaveChanges();
 }