Beispiel #1
0
        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);
        }
Beispiel #2
0
        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)); }
        }