public double Save(VentaDTO venta) { double idSalida = 0; try { MaestroParametros mp = new MaestroParametros(); ParametrosDTO par = mp.GetParametro("VentasWeb"); venta.CodVendedor = par.Valor; con.Open(); SqlCommand cmd = new SqlCommand("INSERT INTO [dbo].[Venta] ([FechaVenta],[RutCliente],[IdCupon],[CodVendedor],[CodEstadoVenta],[CodCondVta],[SubTotal],[Descuento],[PorcDescuento],[TotalDescuento],[Iva],[Total],[NVNumeroSoft],[EstadoSoft],[CodAuxSoft],[NvObserSoft],[IdTipoPago]) " + "VALUES (@FechaVenta,@RutCliente,@IdCupon,@CodVendedor,@CodEstadoVenta,@CodCondVta,@SubTotal,@Descuento,@PorcDescuento,@TotalDescuento,@Iva,@Total,@NVNumeroSoft,@EstadoSoft,@CodAuxSoft,@NvObserSoft,@IdTipoPago) SELECT SCOPE_IDENTITY()"); cmd.CommandType = CommandType.Text; cmd.Connection = con; cmd.Parameters.AddWithValue("@FechaVenta", DateTime.Now); cmd.Parameters.AddWithValue("@RutCliente", venta.RutCliente); cmd.Parameters.AddWithValue("@CodVendedor", venta.CodVendedor); cmd.Parameters.AddWithValue("@CodEstadoVenta", venta.CodEstadoVenta); cmd.Parameters.AddWithValue("@CodCondVta", venta.CodCondVta); cmd.Parameters.AddWithValue("@SubTotal", venta.SubTotal); cmd.Parameters.AddWithValue("@Descuento", venta.Descuento); cmd.Parameters.AddWithValue("@PorcDescuento", venta.PorcDescuento); cmd.Parameters.AddWithValue("@TotalDescuento", venta.TotalDescuento); cmd.Parameters.AddWithValue("@Iva", venta.Iva); cmd.Parameters.AddWithValue("@Total", venta.Total); cmd.Parameters.AddWithValue("@NVNumeroSoft", venta.NVNumeroSoft); cmd.Parameters.AddWithValue("@EstadoSoft", venta.EstadoSoft); cmd.Parameters.AddWithValue("@CodAuxSoft", venta.CodAuxSoft); cmd.Parameters.AddWithValue("@NvObserSoft", venta.NvObserSoft); cmd.Parameters.AddWithValue("@IdTipoPago", venta.IdTipoPago); if (venta.IdCupon == 0) { cmd.Parameters.AddWithValue("@IdCupon", DBNull.Value); } else { cmd.Parameters.AddWithValue("@IdCupon", venta.IdCupon); } object obj = cmd.ExecuteScalar(); double id = Convert.ToDouble(obj); idSalida = id; foreach (VentaDetalleDTO row in venta.Detalles) { SqlCommand cmd2 = new SqlCommand("INSERT INTO [dbo].[VentaDetalle]([IdVenta],[CodProd],[Correlativo],[Cantidad],[Precio],[SubTotal],[Descuento],[Total],[Fecha]) " + "VALUES (@IdVenta,@CodProd,@Correlativo,@Cantidad,@Precio,@SubTotal,@Descuento,@Total,@Fecha)"); cmd2.CommandType = CommandType.Text; cmd2.Connection = con; cmd2.Parameters.AddWithValue("@IdVenta", id); cmd2.Parameters.AddWithValue("@CodProd", row.CodProducto); cmd2.Parameters.AddWithValue("@Correlativo", row.Correlativo); cmd2.Parameters.AddWithValue("@Cantidad", row.Cantidad); cmd2.Parameters.AddWithValue("@Precio", row.Precio); cmd2.Parameters.AddWithValue("@SubTotal", row.SubTotal); cmd2.Parameters.AddWithValue("@Descuento", row.Descuento); cmd2.Parameters.AddWithValue("@Total", row.Total); cmd2.Parameters.AddWithValue("@Fecha", DateTime.Now); cmd2.ExecuteNonQuery(); } SqlCommand cmd3 = new SqlCommand("INSERT INTO [dbo].[VentaDespacho]([IdVenta],[IdTipoDespacho],[Direccion],[Numero],[Telefono],[Email],[IdEstadoDespacho],[IdRegion],[CiuCom],[ComCod]) " + "VALUES (@IdVenta,@IdTipoDespacho,@Direccion,@Numero,@Telefono,@Email,@IdEstadoDespacho,@IdRegion,@CiuCom,@ComCod)"); cmd3.CommandType = CommandType.Text; cmd3.Connection = con; cmd3.Parameters.AddWithValue("@IdVenta", id); cmd3.Parameters.AddWithValue("@IdTipoDespacho", venta.Despacho.IdTipoDespacho); cmd3.Parameters.AddWithValue("@Direccion", venta.Despacho.Direccion); cmd3.Parameters.AddWithValue("@Numero", venta.Despacho.Numero); cmd3.Parameters.AddWithValue("@Telefono", venta.Despacho.Telefono); cmd3.Parameters.AddWithValue("@Email", venta.Despacho.Email); cmd3.Parameters.AddWithValue("@IdEstadoDespacho", venta.Despacho.IdEstadoDespacho); cmd3.Parameters.AddWithValue("@IdRegion", venta.Despacho.IdRegion); cmd3.Parameters.AddWithValue("@CiuCom", venta.Despacho.CiuCom); cmd3.Parameters.AddWithValue("@ComCod", venta.Despacho.ComCod); cmd3.ExecuteNonQuery(); con.Close(); } catch (Exception ex) { idSalida = -1; } finally { if (con.State == ConnectionState.Open) { con.Close(); } } return(idSalida); }
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)); } }