public ClienteDTE GetClienteDTE(string rut) { con.Open(); SqlCommand cmd = new SqlCommand(); SqlDataReader reader; cmd.CommandText = "SELECT * FROM CSV_EmpresasSii WHERE Rut = '" + rut + "'"; cmd.CommandType = CommandType.Text; cmd.Connection = con; reader = cmd.ExecuteReader(); ClienteDTE item = new ClienteDTE(); while (reader.Read()) { item.Rut = reader["Rut"].ToString(); item.RazonSocial = (reader["RazonSocial"] == DBNull.Value) ? "" : reader["RazonSocial"].ToString(); item.NroResolucion = (reader["NroResolucion"] == DBNull.Value) ? 0 : Convert.ToInt32(reader["NroResolucion"]); item.FechaResolucion = (reader["FechaResolucion"] == DBNull.Value) ? DateTime.Now : Convert.ToDateTime(reader["FechaResolucion"]); item.Mail = (reader["Mail"] == DBNull.Value) ? "" : reader["Mail"].ToString(); item.Url = (reader["Url"] == DBNull.Value) ? "" : reader["Url"].ToString(); item.FechaCarga = (reader["FechaCarga"] == DBNull.Value) ? DateTime.Now : Convert.ToDateTime(reader["FechaCarga"]); } reader.Close(); con.Close(); return(item); }
public ResponseInfo Save(ClienteDTO item) { try { //valida si el cliente es receptor dte item.EsReceptorDTE = "N"; ClienteDTE cDTE = this.GetClienteDTE(item.Rut.Replace(".", "")); if (cDTE != null && cDTE.Rut != null) { item.EsReceptorDTE = "S"; item.EmailDTE = cDTE.Mail; } //recupera el contacto desde softland List <ClienteSoftlandDTO> clienteSl = this.GetClientFromSoftland(item.Rut); if (clienteSl.Count > 0) { item.Contacto = clienteSl[0].NombreContacto; } else { item.Contacto = string.Empty; } con.Open(); SqlCommand cmd = new SqlCommand("INSERT INTO [dbo].[Cliente]([Rut],[CodAux],[NomAux],[Email],[Clave],[CodGiro],[CiuCod],[ComCod],[IdRegion],[DirAux],[DirNum],[Telefono],[UserName],[Password],[EmailDTE],[EsReceptorDTE],[Estado],[CodLista],[CodCondVta],[EsJuridico],[Contacto],[EsSoftland]) " + "VALUES (@Rut,@CodAux,@NomAux,@Email,@Clave,@CodGiro,@CiuCod,@ComCod,@IdRegion,@DirAux,@DirNum,@Telefono,@UserName,@Password,@EmailDTE,@EsReceptorDTE,@Estado,@CodLista,@CodCondVta,@EsJuridico,@Contacto,@EsSoftland)"); cmd.CommandType = CommandType.Text; cmd.Connection = con; string[] aux = item.Rut.Replace(".", "").Split('-'); item.CodAux = aux[0]; cmd.Parameters.AddWithValue("@Rut", item.Rut); cmd.Parameters.AddWithValue("@CodAux", item.CodAux); cmd.Parameters.AddWithValue("@NomAux", item.NomAux); cmd.Parameters.AddWithValue("@Email", item.Email); cmd.Parameters.AddWithValue("@Clave", item.Clave); cmd.Parameters.AddWithValue("@CiuCod", item.CiuCod); cmd.Parameters.AddWithValue("@ComCod", item.ComCod); cmd.Parameters.AddWithValue("@IdRegion", item.IdRegion); cmd.Parameters.AddWithValue("@DirAux", item.DirAux); cmd.Parameters.AddWithValue("@DirNum", item.DirNum); cmd.Parameters.AddWithValue("@Telefono", item.Telefono); cmd.Parameters.AddWithValue("@UserName", item.UserName); cmd.Parameters.AddWithValue("@Password", item.Password); cmd.Parameters.AddWithValue("@Estado", item.Estado); cmd.Parameters.AddWithValue("@EsJuridico", item.EsJuridico); cmd.Parameters.AddWithValue("@EmailDTE", item.EmailDTE); cmd.Parameters.AddWithValue("@EsReceptorDTE", item.EsReceptorDTE); cmd.Parameters.AddWithValue("@Contacto", item.Contacto); cmd.Parameters.AddWithValue("@EsSoftland", (item.ExisteEnSoftland == true) ? 1 : 0); MaestroParametros mp = new MaestroParametros(); ParametrosDTO p1 = mp.GetParametro("ListaPreciosDefecto"); ParametrosDTO p2 = mp.GetParametro("CondicionPagoDefecto"); ParametrosDTO p3 = mp.GetParametro("GiroParticular"); if (!item.ExisteEnSoftland) { cmd.Parameters.AddWithValue("@CodLista", p1.Valor); cmd.Parameters.AddWithValue("@CodCondVta", p2.Valor); cmd.Parameters.AddWithValue("@CodGiro", p3.Valor); item.CodLista = p1.Valor; item.CodCondVta = p2.Valor; item.CodGiro = p3.Valor; } else { string codLista = this.GetListaClienteSoftland(item.Rut); string codCondVta = this.GetCondVentaClienteSoftland(item.Rut); cmd.Parameters.AddWithValue("@CodLista", (codLista.Trim() == "") ? p1.Valor : codLista); cmd.Parameters.AddWithValue("@CodCondVta", (codCondVta.Trim() == "") ? p2.Valor : codCondVta); cmd.Parameters.AddWithValue("@CodGiro", item.CodGiro); } cmd.ExecuteNonQuery(); con.Close(); if (!item.ExisteEnSoftland) { ResponseInfo s1 = this.SaveClienteSoftland(item); ClienteContactoDTO cc = new ClienteContactoDTO { CodAuc = item.CodAux, NomCon = item.NomAux, CarCon = "02", FonCon = item.Telefono, FonCon2 = "", FonCon3 = "", Email = item.Email, Usuario = null, Proceso = null, FechaUlMod = DateTime.Now }; ResponseInfo s2 = this.SaveContactoClienteSoftland(cc); ClienteCondVtaListPreciosDTO clp = new ClienteCondVtaListPreciosDTO { CodAux = item.CodAux, CodVen = "07", ConVta = item.CodCondVta, MtoCre = 0, CatCli = "03", CodZon = null, CodCan = "03", CodCob = null, DirCob = null, ComCob = null, CiuCob = null, PaiCob = null, FonCob = item.Telefono, DiaPag = null, CodLista = item.CodLista, Usuario = "WEB", Proceso = "Ficha Cliente ERP", FechaUlMod = DateTime.Now, Sistema = null }; ResponseInfo s3 = this.SaveCondVtaListPreciosSoftland(clp); } return(ResponseInfo.CreateSuccess()); } catch (Exception ex) { return(ResponseInfo.CreateError("Error al grabar. " + ex.Message)); } }