Exemple #1
0
        public static CreateCustomerRequest ConverteNovoClienteDbEmApi(ClienteDb clienteDb)
        {
            try
            {
                var metadata = new Dictionary <string, string>();
                metadata.Add("id", clienteDb.Codigo);

                var address = new CreateAddressRequest
                {
                    Line1   = clienteDb.Endereco_1,
                    Line2   = clienteDb.Endereco_2,
                    ZipCode = clienteDb.Cep,
                    City    = clienteDb.Cidade,
                    State   = clienteDb.Uf,
                    Country = "BR"
                };

                var phones = new CreatePhonesRequest
                {
                    HomePhone = new CreatePhoneRequest
                    {
                        AreaCode    = clienteDb.Fone1.Substring(0, 2),
                        CountryCode = "55",
                        Number      = clienteDb.Fone1.Substring(3, clienteDb.Fone1.Length - 3)
                    },
                    MobilePhone = new CreatePhoneRequest
                    {
                        AreaCode    = clienteDb.Fone2.Substring(0, 2),
                        CountryCode = "55",
                        Number      = clienteDb.Fone2.Substring(3, clienteDb.Fone2.Length - 3)
                    },
                };

                var request = new CreateCustomerRequest
                {
                    Name     = clienteDb.Nome,
                    Email    = clienteDb.Email,
                    Type     = "individual",
                    Document = clienteDb.Documento,
                    Gender   = clienteDb.Sexo,
                    Code     = clienteDb.Codigo,
                    Phones   = phones,
                    Address  = address,
                    Metadata = metadata
                };

                return(request);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemple #2
0
        public List <CreateCustomerRequest> ListaClientes(string _statusCli)
        {
            const string metodo = "ListaClientes";

            var listaCliApi = new List <CreateCustomerRequest>();

            try
            {
                var sql = new StringBuilder();

                sql.Append("select cli.cod_cli, cli.nome, cli.email, cli.cpf,");
                sql.Append("case when cli.sexo = 1 then 'male' else 'famale' end as sexo, cli.data_nasc,");
                sql.Append("cli.endereco as address_1, cli.bairro as address_2, cli.cep, cid.cid_nome as cidade,");
                sql.Append("cid.uf_sigla as uf, cli.fone1, cli.fone2, cli.id_api, cli.status_api from cad_clientes cli ");
                sql.Append("left join cad_cidade cid on cid.cid_codigo = cli.cid_codigo ");
                sql.Append("where cli.status_api = @StatusCli;");


                using (var conn = ConexaoBd.GetConnection())
                {
                    using (var cmd = new SqlCommand(sql.ToString(), conn))
                    {
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@StatusCli", _statusCli);

                        using (var dr = cmd.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                var metadata = new Dictionary <string, string>
                                {
                                    { "id", dr["cod_cli"].ToString() },
                                    { "id_api", dr["id_api"].ToString() }
                                };

                                var address = new CreateAddressRequest
                                {
                                    Line1   = dr["address_1"].ToString(),
                                    Line2   = dr["address_2"].ToString(),
                                    ZipCode = dr["cep"].ToString(),
                                    City    = dr["cidade"].ToString(),
                                    State   = dr["uf"].ToString(),
                                    Country = "BR"
                                };

                                var phones = new CreatePhonesRequest
                                {
                                    HomePhone = new CreatePhoneRequest
                                    {
                                        AreaCode    = dr["fone1"].ToString().Substring(0, 2),
                                        CountryCode = "55",
                                        Number      = dr["fone1"].ToString().Substring(2, dr["fone1"].ToString().Length - 3)
                                    },
                                    MobilePhone = new CreatePhoneRequest
                                    {
                                        AreaCode    = dr["fone2"].ToString().Substring(0, 2),
                                        CountryCode = "55",
                                        Number      = dr["fone2"].ToString().Substring(2, dr["fone2"].ToString().Length - 3)
                                    },
                                };


                                cliApi = new CreateCustomerRequest
                                {
                                    Name     = dr["nome"].ToString(),
                                    Email    = dr["email"].ToString(),
                                    Type     = "individual",
                                    Document = dr["cpf"].ToString(),
                                    Gender   = dr["sexo"].ToString(),
                                    Code     = dr["cod_cli"].ToString(),
                                    Phones   = phones,
                                    Address  = address,
                                    Metadata = metadata
                                };

                                listaCliApi.Add(cliApi);
                            }
                        }
                    }
                }

                return(listaCliApi);
            }
            catch (SqlException sqlException)
            {
                string strMensagem = "";
                strMensagem = LogDatabaseErrorUtil.CreateErrorDatabaseMessage(sqlException);
                LogDatabaseErrorUtil.LogFileWrite(strMensagem, metodo);

                sqlException.Data["MensagemCustomizada"] = LogDatabaseErrorUtil.ValidateDataBaseErrorNumber(sqlException.Number);
                sqlException.Data["Metodo"] = metodo;
                sqlException.Data["Classe"] = Camada;
                sqlException.Data["Hora"]   = DateTime.Now;

                throw;
            }
            catch (Exception ex)
            {
                string strMensagem = "";

                strMensagem = LogDatabaseErrorUtil.CreateErrorMessage(ex);
                LogDatabaseErrorUtil.LogFileWrite(strMensagem, metodo);

                ex.Data["MensagemCustomizada"] = "Ocorreu um erro ao tentar executar a operação.";
                ex.Data["Metodo"] = metodo;
                ex.Data["Classe"] = Camada;
                ex.Data["Hora"]   = DateTime.Now;

                throw;
            }
        }