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); }; }
public virtual void SaveChanges() { _repositoryBase.SaveChanges(); }