public void GrabarPedido() { PedidoParametrosViewModel Pedido = new PedidoParametrosViewModel(); { Pedido.BODEGA = "B-51"; Pedido.CLIENTE = "0000001"; Pedido.CONDICION_PAGO = 0; Pedido.NOMBRE_CUENTA = "PRUEBA"; Pedido.OBSERVACIONES = "..."; Pedido.ORDEN_COMPRA = "..."; Pedido.TARJETA_CREDITO = "..."; Pedido.PEDIDO = "..."; Pedido.USUARIO_LOGIN = "******"; /*USUARIO DE LA BASE DE DATOS DE CONEXION*/ Pedido.CODIGO_CONSECUTIVO = "PBA"; /*ESTE ES EL CONSECUTIVO DEL SISTEMA, SE DEBE SELECCIONAR DE ESTE METODO BuscarConsecutivo(USUARIO)*/ }; List<PedidoLineaParametrosViewModel> ListaPedidoLineas = new List<PedidoLineaParametrosViewModel>(); int n = 1; while (n < 6) { PedidoLineaParametrosViewModel model1 = new PedidoLineaParametrosViewModel(); { model1.ARTICULO = "165/60R14 FALKE"; model1.CREADOR_POR = "jperez"; model1.PRECIO_UNITARIO = n * 10; model1.CANTIDAD = n; model1.DESCUENTO = 0; model1.Linea = n; } ListaPedidoLineas.Add(model1); n++; } exac.GrabarPedido("jperez", "japerez", Pedido, ListaPedidoLineas); }
public string GrabarPedido(string usuario, string contraseña, PedidoParametrosViewModel Pedidos, List<PedidoLineaParametrosViewModel> ListaPedidoLineas) { var exactus = new ExactusData(usuario, contraseña, Schema); return exactus.GrabarPedido(Pedidos, ListaPedidoLineas); }
public void EliminarPedidoCompleto(string usuario, string contraseña, PedidoParametrosViewModel PedidoParametros) { var exactus = new ExactusData(usuario, contraseña, Schema); exactus.EliminarPedidoCompleto(PedidoParametros); }
public void EliminarPedidoCompleto() { PedidoParametrosViewModel pedido = new PedidoParametrosViewModel(); pedido.PEDIDO = "PBA-10000007"; exac.EliminarPedidoCompleto("jperez", "japerez", pedido); }
public string GrabarPedido(PedidoParametrosViewModel PedidoParametros, List<PedidoLineaParametrosViewModel> PedidoLineaParametros) { string sqlcomando = ""; string Nropedido = ""; sqlcomando = sqlcomando + $" BEGIN TRY BEGIN TRANSACTION "; sqlcomando = sqlcomando + $" DECLARE @CLIENTE VARCHAR(100); DECLARE @BODEGA VARCHAR(100); DECLARE @ORDEN_COMPRA VARCHAR(100); DECLARE @OBSERVACIONES VARCHAR(300); "; sqlcomando = sqlcomando + $" DECLARE @USUARIO_LOGIN VARCHAR(100); DECLARE @TARJETA_CREDITO VARCHAR(100); DECLARE @NOMBRE_CUENTA VARCHAR(100); "; sqlcomando = sqlcomando + $" DECLARE @CONDICION_PAGO INTEGER; DECLARE @PEDIDO VARCHAR(100); "; sqlcomando = sqlcomando + $" SET @BODEGA = '{PedidoParametros.BODEGA}';"; sqlcomando = sqlcomando + $" SET @ORDEN_COMPRA = '{PedidoParametros.ORDEN_COMPRA}'; "; sqlcomando = sqlcomando + $" SET @OBSERVACIONES = '{PedidoParametros.OBSERVACIONES}'; "; sqlcomando = sqlcomando + $" SET @USUARIO_LOGIN = '******'; "; sqlcomando = sqlcomando + $" SET @TARJETA_CREDITO = '{PedidoParametros.TARJETA_CREDITO}'; "; sqlcomando = sqlcomando + $" SET @NOMBRE_CUENTA = '{PedidoParametros.NOMBRE_CUENTA}'; "; sqlcomando = sqlcomando + $" SET @CONDICION_PAGO = '{PedidoParametros.CONDICION_PAGO}'; "; sqlcomando = sqlcomando + $" SET @CLIENTE = '{PedidoParametros.CLIENTE}'; "; sqlcomando = sqlcomando + $" DECLARE @NUM_CONS VARCHAR(10) = '{PedidoParametros.CODIGO_CONSECUTIVO}'; DECLARE @CONSECUTIVO VARCHAR(50); "; /*sqlcomando = sqlcomando + $" SET @PEDIDO = '{PedidoParametros.PEDIDO}' ";*/ /*sqlcomando = sqlcomando + $" SET @PEDIDO = '{Nropedido}'; ";*/ sqlcomando = sqlcomando + $" SELECT @CONSECUTIVO = CONVERT(INT,COALESCE(CONVERT(VARCHAR(50),CONVERT(INTEGER,SUBSTRING(MAX(PEDIDO),5,LEN(MAX(PEDIDO))))),'00000000')) + 1 FROM {this.schema}.PEDIDO WHERE PEDIDO LIKE '%'+@NUM_CONS+'%' "; sqlcomando = sqlcomando + $" SELECT @PEDIDO = @NUM_CONS +'-'+@CONSECUTIVO "; sqlcomando = sqlcomando + $" DECLARE @FACTURADOR VARCHAR(100); DECLARE @VERSION_PRECIO VARCHAR(100); DECLARE @COBRADOR VARCHAR(100); DECLARE @RUTA VARCHAR(100); "; sqlcomando = sqlcomando + $" DECLARE @ZONA VARCHAR(100); DECLARE @PAIS VARCHAR(100); DECLARE @ALIAS_CLIENTE VARCHAR(100); DECLARE @VENDEDOR VARCHAR(100); "; sqlcomando = sqlcomando + $" DECLARE @SI_NO INTEGER; DECLARE @NIVEL_PRECIOS VARCHAR(100); "; sqlcomando = sqlcomando + $" SELECT @SI_NO = COUNT(*) FROM {this.schema}.PEDIDO WHERE PEDIDO = @PEDIDO "; sqlcomando = sqlcomando + $" IF @SI_NO <= 0 "; sqlcomando = sqlcomando + $" SELECT @ALIAS_CLIENTE = ALIAS,@NIVEL_PRECIOS= NIVEL_PRECIO, @COBRADOR = COBRADOR , @RUTA = RUTA, @ZONA = ZONA, @VENDEDOR = VENDEDOR, @PAIS = PAIS "; sqlcomando = sqlcomando + $" FROM {this.schema}.CLIENTE WHERE CLIENTE = @CLIENTE "; sqlcomando = sqlcomando + $" IF @VENDEDOR IS NULL SET @VENDEDOR = 'ND' "; sqlcomando = sqlcomando + $" SELECT @FACTURADOR = COD_FACTURADOR FROM USUARIO_FACTURADOR_WEB WHERE USUARIO = @USUARIO_LOGIN "; sqlcomando = sqlcomando + $" IF @FACTURADOR = NULL OR @FACTURADOR = '' SET @FACTURADOR = @VENDEDOR "; sqlcomando = sqlcomando + $" SELECT @VERSION_PRECIO = MAX(VERSION) FROM {this.schema}.VERSION_NIVEL WHERE NIVEL_PRECIO = @NIVEL_PRECIOS "; sqlcomando = sqlcomando + $" INSERT INTO {this.schema}.PEDIDO (PEDIDO,ESTADO,FECHA_PEDIDO,FECHA_PROMETIDA,FECHA_PROX_EMBARQU,FECHA_ULT_EMBARQUE, FECHA_ULT_CANCELAC, ORDEN_COMPRA,FECHA_ORDEN,TARJETA_CREDITO, EMBARCAR_A, DIREC_EMBARQUE,RUBRO1 ,RUBRO2 ,RUBRO3,RUBRO4,RUBRO5,OBSERVACIONES ,COMENTARIO_CXC,TOTAL_MERCADERIA,MONTO_ANTICIPO,MONTO_FLETE,MONTO_SEGURO,MONTO_DOCUMENTACIO,TIPO_DESCUENTO1,TIPO_DESCUENTO2,MONTO_DESCUENTO1,MONTO_DESCUENTO2,PORC_DESCUENTO1,PORC_DESCUENTO2,TOTAL_IMPUESTO1,TOTAL_IMPUESTO2,TOTAL_A_FACTURAR,PORC_COMI_VENDEDOR,PORC_COMI_COBRADOR,TOTAL_CANCELADO,TOTAL_UNIDADES,IMPRESO, FECHA_HORA,DESCUENTO_VOLUMEN,TIPO_PEDIDO,MONEDA_PEDIDO,VERSION_NP ,AUTORIZADO,DOC_A_GENERAR,CLASE_PEDIDO,MONEDA,NIVEL_PRECIO,COBRADOR ,RUTA ,USUARIO ,CONDICION_PAGO ,BODEGA ,ZONA, VENDEDOR ,CLIENTE,CLIENTE_DIRECCION,CLIENTE_CORPORAC,CLIENTE_ORIGEN,PAIS ,SUBTIPO_DOC_CXC,TIPO_DOC_CXC,BACKORDER,CONTRATO,PORC_INTCTE,DESCUENTO_CASCADA,NoteExistsFlag,RecordDate,CreatedBy ,CreateDate,DIRECCION_FACTURA,TIPO_CAMBIO,FIJAR_TIPO_CAMBIO,ORIGEN_PEDIDO, NOMBRE_CLIENTE) "; sqlcomando = sqlcomando + $" VALUES (@PEDIDO,'N', CONVERT(varchar(10),GETDATE(),120), CONVERT(varchar(10),GETDATE(),120), CONVERT(varchar(10),GETDATE(),120), '1980-01-01 00:00:00.000','1980-01-01 00:00:00.000',@ORDEN_COMPRA,CONVERT(varchar(10),GETDATE(),120), @TARJETA_CREDITO, (CASE WHEN @NOMBRE_CUENTA IS NULL OR @NOMBRE_CUENTA = '' THEN @ALIAS_CLIENTE ELSE @NOMBRE_CUENTA END) ,'ND' ,@NOMBRE_CUENTA,@FACTURADOR,NULL ,NULL ,NULL ,@OBSERVACIONES,NULL ,0 ,0 ,0 ,0 ,0 ,'P' ,'P' ,0 ,0 , 0 ,0 ,0 , 0 ,0 , 0 , 0 ,0 ,0 ,'N' , CONVERT(varchar(10),GETDATE(),120) ,0 , 'N' ,'L' ,@VERSION_PRECIO,'N' ,'F' ,'N' ,'L' , @NIVEL_PRECIOS ,@COBRADOR,@RUTA,@USUARIO_LOGIN,@CONDICION_PAGO,@BODEGA,@ZONA,@VENDEDOR,@CLIENTE,@CLIENTE ,@CLIENTE ,@CLIENTE ,@PAIS,0 ,'FAC' ,'N' ,NULL ,0 ,'N' ,0 ,CONVERT(varchar(10),GETDATE(),120) ,@USUARIO_LOGIN,CONVERT(varchar(10),GETDATE(),120) ,'ND' ,NULL ,'N' ,'F' , (CASE WHEN @NOMBRE_CUENTA IS NULL OR @NOMBRE_CUENTA = '' THEN @ALIAS_CLIENTE ELSE @NOMBRE_CUENTA END) ) "; sqlcomando = sqlcomando + $" DECLARE @ARTICULO VARCHAR(100); DECLARE @CREADOR_POR VARCHAR(100); DECLARE @PRECIO_UNITARIO DECIMAL(14,2); DECLARE @CANTIDAD DECIMAL(14,2); DECLARE @DESCUENTO DECIMAL(14,2); "; sqlcomando = sqlcomando + $" DECLARE @LINEA_USUARIO INTEGER; DECLARE @PEDIDO_LINEA INTEGER; DECLARE @EXENTO_IMPUESTO VARCHAR(10); DECLARE @ITBM DECIMAL(14,2); "; foreach (var item in PedidoLineaParametros) { sqlcomando = sqlcomando + $" set @ARTICULO ='{item.ARTICULO}'; "; sqlcomando = sqlcomando + $" set @CREADOR_POR ='{item.CREADOR_POR}'; "; sqlcomando = sqlcomando + $" set @PRECIO_UNITARIO = {item.PRECIO_UNITARIO}; "; sqlcomando = sqlcomando + $" set @CANTIDAD = {item.CANTIDAD}; "; sqlcomando = sqlcomando + $" set @DESCUENTO = {item.DESCUENTO}; "; sqlcomando = sqlcomando + $" Select @ITBM = CONVERT(DECIMAL(14,2),IMPUESTO1)/100 + CONVERT(DECIMAL(14,2),IMPUESTO2)/100 From {this.schema}.IMPUESTO WHERE IMPUESTO = (SELECT IMPUESTO FROM {this.schema}.ARTICULO WHERE ARTICULO = @ARTICULO) ; "; sqlcomando = sqlcomando + $" SELECT @EXENTO_IMPUESTO = EXENTO_IMPUESTOS FROM {this.schema}.CLIENTE WHERE CLIENTE = (SELECT CLIENTE FROM {this.schema}.PEDIDO WHERE PEDIDO = @PEDIDO) "; sqlcomando = sqlcomando + $" IF (SELECT MAX(PEDIDO_LINEA)+1 FROM {this.schema}.PEDIDO_LINEA WHERE PEDIDO = @PEDIDO) IS NULL "; sqlcomando = sqlcomando + $" SET @PEDIDO_LINEA = 1 "; sqlcomando = sqlcomando + $" ELSE "; sqlcomando = sqlcomando + $" SELECT @PEDIDO_LINEA = MAX(PEDIDO_LINEA)+1 FROM {this.schema}.PEDIDO_LINEA WHERE PEDIDO = @PEDIDO "; sqlcomando = sqlcomando + $" IF (SELECT COUNT(*) FROM {this.schema}.PEDIDO_LINEA WHERE PEDIDO = @PEDIDO) <= 0 "; sqlcomando = sqlcomando + $" SET @LINEA_USUARIO = 0 "; sqlcomando = sqlcomando + $" ELSE "; sqlcomando = sqlcomando + $" SELECT @LINEA_USUARIO = COUNT(*)-1 FROM {this.schema}.PEDIDO_LINEA WHERE PEDIDO = @PEDIDO "; sqlcomando = sqlcomando + $" INSERT INTO {this.schema}.PEDIDO_LINEA(PEDIDO, PEDIDO_LINEA, BODEGA, LOTE,LOCALIZACION,ARTICULO ,ESTADO,FECHA_ENTREGA,LINEA_USUARIO, PRECIO_UNITARIO, CANTIDAD_PEDIDA,CANTIDAD_A_FACTURA,CANTIDAD_FACTURADA,CANTIDAD_RESERVADA,CANTIDAD_BONIFICAD,CANTIDAD_CANCELADA,TIPO_DESCUENTO,MONTO_DESCUENTO,PORC_DESCUENTO,DESCRIPCION,COMENTARIO,PEDIDO_LINEA_BONIF,UNIDAD_DISTRIBUCIO,FECHA_PROMETIDA,LINEA_ORDEN_COMPRA,RecordDate,CreatedBy,CreateDate) "; sqlcomando = sqlcomando + $" VALUES (@PEDIDO, @PEDIDO_LINEA, @BODEGA,NULL,NULL ,@ARTICULO,'N' ,CONVERT(varchar(10),GETDATE(),120),@LINEA_USUARIO,@PRECIO_UNITARIO,@CANTIDAD ,@CANTIDAD ,@CANTIDAD ,0 ,0 ,0 ,'P' ,@DESCUENTO ,0 ,NULL ,NULL ,NULL ,NULL ,CONVERT(varchar(10),GETDATE(),120) ,NULL , CONVERT(varchar(10),GETDATE(),120), @CREADOR_POR,getdate()) "; sqlcomando = sqlcomando + $" UPDATE {this.schema}.EXISTENCIA_BODEGA SET CANT_PEDIDA = CANT_PEDIDA + @CANTIDAD WHERE BODEGA = @BODEGA AND ARTICULO = @ARTICULO "; sqlcomando = sqlcomando + $" IF @EXENTO_IMPUESTO = 'S' OR @ITBM = 0 "; sqlcomando = sqlcomando + $" UPDATE {this.schema}.PEDIDO SET TOTAL_MERCADERIA = TOTAL_MERCADERIA + ROUND(@PRECIO_UNITARIO*@CANTIDAD,4), TOTAL_IMPUESTO1 = TOTAL_IMPUESTO1, TOTAL_A_FACTURAR = TOTAL_A_FACTURAR + ROUND((@PRECIO_UNITARIO*@CANTIDAD)-(@DESCUENTO),3),TOTAL_UNIDADES = TOTAL_UNIDADES + @CANTIDAD, MONTO_DESCUENTO1 = MONTO_DESCUENTO1 + @DESCUENTO WHERE PEDIDO = @PEDIDO "; sqlcomando = sqlcomando + $" ELSE "; sqlcomando = sqlcomando + $" UPDATE {this.schema}.PEDIDO SET TOTAL_MERCADERIA = TOTAL_MERCADERIA + ROUND(@PRECIO_UNITARIO*@CANTIDAD,4), TOTAL_IMPUESTO1 = TOTAL_IMPUESTO1 + ROUND(((@PRECIO_UNITARIO*@CANTIDAD)- @DESCUENTO) * (@ITBM),4), TOTAL_A_FACTURAR = TOTAL_A_FACTURAR + ROUND(((@PRECIO_UNITARIO*@CANTIDAD)- @DESCUENTO),4)+ROUND(((@PRECIO_UNITARIO*@CANTIDAD)-@DESCUENTO) * @ITBM,4)/*-ROUND(@DESCUENTO,2)*/,TOTAL_UNIDADES = TOTAL_UNIDADES + @CANTIDAD,MONTO_DESCUENTO1 = MONTO_DESCUENTO1 + @DESCUENTO WHERE PEDIDO = @PEDIDO "; } sqlcomando = sqlcomando + " select @PEDIDO PEDIDO"; sqlcomando = sqlcomando + " COMMIT END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK END CATCH "; SqlDataReader reader; //Se obtiene el reader de Enterprise Library y se convierte a SqlDataReader para poder pasarlo al dynamicReader reader = ((RefCountingDataReader)db.ExecuteReader(System.Data.CommandType.Text, sqlcomando)).InnerReader as SqlDataReader; //Se transforma al dynamic reader para acceder por nombre y evitar los casting entre tipo y los GET... dynamic dynreader = (DynamicDataReader)reader; //Se le el reader while (dynreader.Read()) { Nropedido = dynreader.PEDIDO; } dynreader.Close(); reader.Close(); return Nropedido; }
public void EliminarPedidoCompleto(PedidoParametrosViewModel PedidoParametros) { string sqlcomando = ""; sqlcomando = sqlcomando + $" BEGIN TRY BEGIN TRANSACTION "; sqlcomando = sqlcomando + $" DELETE FROM {this.schema}.pedido_linea where pedido = '{PedidoParametros.PEDIDO}'; DELETE FROM {this.schema}.pedido where pedido = '{PedidoParametros.PEDIDO}' ; "; sqlcomando = sqlcomando + " COMMIT END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK END CATCH "; db.ExecuteNonQuery(System.Data.CommandType.Text, sqlcomando); }