示例#1
0
        //private IFornecedorRepository fornecedorRepository;
        //public FornecedorService(IFornecedorRepository repository)
        //{
        //    this.fornecedorRepository = repository;
        //}
        public async Task Create(FornecedorDTO fornecedor)
        {
            #region VALIDAÇÃO NOME FORNECEDOR
            if (string.IsNullOrWhiteSpace(fornecedor.Fornecedor))
            {
                base.AddError("O nome do fornecedor deve ser informado.", "Fornecedor");
            }
            else
            {
                fornecedor.Fornecedor = fornecedor.Fornecedor.Trim();
                if (fornecedor.Fornecedor.Length < 5 || fornecedor.Fornecedor.Length > 40)
                {
                    base.AddError("O nome do fornecedor deve conter entre 5 e 40 caracteres.", "Descricao");
                }
            }
            #endregion

            #region VALIDAÇÃO DO ENDEREÇO

            List <Error> errors = new EnderecoValidator().Validate(fornecedor.Endereco);

            foreach (Error erroDoEndereco in errors)
            {
                base.AddError(erroDoEndereco.FieldName, erroDoEndereco.Message);
            }

            #endregion

            #region VALIDAÇÃO CNPJ
            //Estilo AMBEV
            var resposta = fornecedor.CNPJ.IsValidCNPJ();

            if (resposta != "")
            {
                base.AddError("CNPJ", resposta);
            }



            #endregion

            #region VALIDAÇÃO EMAIL
            if (string.IsNullOrWhiteSpace(fornecedor.Email))
            {
                base.AddError("O email deve ser informado.", "Email");
            }
            else
            {
                fornecedor.Email = fornecedor.Email.Trim();
            }
            #endregion

            #region VERIFICAÇÃO DE ERROS
            base.CheckErrors();
            try
            {
                using (SSContext context = new SSContext())
                {
                    context.Fornecedor.Add(fornecedor);
                    await context.SaveChangesAsync();
                }
            }
            catch (Exception ex)
            {
                File.WriteAllText("log.txt", ex.Message + " - " + ex.StackTrace);
                throw new Exception("Erro no banco de dados, contate do administrador.");
            }
            #endregion

            CheckErrors();

            try
            {
                FornecedorRepository repository = new FornecedorRepository();
                await repository.Create(fornecedor);
            }
            catch (Exception ex)
            {
                //Exemplo curto circuito, se a primeira expressão for false o C# não chega nem a ler a segunda expressão. PERIGOSO!
                if (ex.InnerException != null && ex.InnerException.InnerException.Message.Contains("UQ"))
                {
                    List <Error> error = new List <Error>();
                    error.Add(new Error()
                    {
                        FieldName = "CNPJ", Message = "CNPJ já cadastrado!"
                    });
                    throw new NecoException(error);
                }
                File.WriteAllText("log.txt", ex.Message + " - " + ex.StackTrace);
                throw new Exception("Erro no banco de dados, contate o adiminstrador. ");
            }
        }
示例#2
0
 private static void CreateLastPage(Document document, Paragraph paragraph, List <SprintSmDTO> sprints, object missing, ConfigXmlDTO config, FornecedorDTO partner)
 {
     SetLastPageText(document, paragraph, partner);
     if (sprints[0].Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_FIXO.ToString())) //(TODO) Cada time tem 1 SM, Melhorar  o DTO para representar
     {
         CreateSummaryTableUstSmSettled(document, sprints, ref missing, partner.UstValue);
     }
     else
     {
         if (sprints[0].Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_MEDIA.ToString()))
         {
             CreateSummaryTableUstSmShared(document, sprints, ref missing, partner.UstValue);
         }
     }
     SetLastPageSignature(paragraph, config);
 }
示例#3
0
        public void ExcluirFornecedor(FornecedorDTO objDTO)
        {
            string sql = $"DELETE FROM {tabela} WHERE id = {objDTO.ID}";

            objConexao.ExecutarComando(sql);
        }
 public new List <FornecedorDTO> selectFornecedor(FornecedorDTO dtoPesquisa)
 {
     return(base.selectFornecedor(dtoPesquisa));
 }
示例#5
0
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     FornecedorDTO forn = comboBox1.SelectedItem as FornecedorDTO;
 }
示例#6
0
 public IList <FornecedorDTO> selectFornecedorPagina(int primeiroResultado, int quantidadeResultados, FornecedorDTO fornecedor)
 {
     try
     {
         IList <FornecedorDTO> resultado = null;
         using (ISession session = NHibernateHelper.getSessionFactory().OpenSession())
         {
             NHibernateDAL <FornecedorDTO> DAL = new NHibernateDAL <FornecedorDTO>(session);
             resultado = DAL.selectPagina <FornecedorDTO>(primeiroResultado, quantidadeResultados, fornecedor);
         }
         return(resultado);
     }
     catch (Exception ex)
     {
         throw new FaultException(ex.Message + (ex.InnerException != null ? " " + ex.InnerException.Message : ""));
     }
 }