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); } }
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; } }