/// <summary> /// Cambiar piezas para una devolución /// </summary> /// <param name="codeStore">Código de tienda</param> /// <param name="codeBox">Código de caja</param> /// <param name="codeEmployee">Código de empleado cajero</param> /// <param name="devolverArticuloRequest">Linea correspondiente a la devolución</param> /// <returns>Resultado de la operación</returns> public OperationResponse CambiarPiezasArticuloLineaTicketDevolucion(int codeStore, int codeBox, int codeEmployee, DevolverArticuloRequest devolverArticuloRequest) { OperationResponse operationResponse = new OperationResponse(); using (TransactionScope scope = new TransactionScope()) { var parameters = new Dictionary <string, object>(); parameters.Add("@CodigoTienda", codeStore); parameters.Add("@CodigoCaja", codeBox); parameters.Add("@CodigoEmpleado", codeEmployee); parameters.Add("@CodigoTipoTransaccionCabecera", devolverArticuloRequest.LineaTicket.cabeceraVentaRequest.TipoCabeceraVenta); parameters.Add("@FolioVenta", devolverArticuloRequest.LineaTicket.cabeceraVentaRequest.FolioOperacion); parameters.Add("@FolioVentaOriginal", devolverArticuloRequest.LineaTicket.cabeceraVentaRequest.FolioVentaOriginal); parameters.Add("@FolioDevolucion", devolverArticuloRequest.LineaTicket.cabeceraVentaRequest.FolioDevolucion); parameters.Add("@Secuencia", devolverArticuloRequest.LineaTicket.Secuencia); parameters.Add("@CantidadVendida", devolverArticuloRequest.LineaTicket.CantidadVendida); parameters.Add("@CantidadDevuelta", devolverArticuloRequest.LineaTicket.CantidadDevuelta); parameters.Add("@CodigoImpuesto1", devolverArticuloRequest.LineaTicket.Articulo.CodigoImpuesto1); parameters.Add("@CodigoImpuesto2", devolverArticuloRequest.LineaTicket.Articulo.CodigoImpuesto2); parameters.Add("@TasaImpuesto1", devolverArticuloRequest.LineaTicket.Articulo.TasaImpuesto1); parameters.Add("@TasaImpuesto2", devolverArticuloRequest.LineaTicket.Articulo.TasaImpuesto2); parameters.Add("@ImporteImpuesto1", devolverArticuloRequest.LineaTicket.ImporteVentaLineaImpuestos1); parameters.Add("@ImporteImpuesto2", devolverArticuloRequest.LineaTicket.ImporteVentaLineaImpuestos2); parameters.Add("@CostoUnitario", devolverArticuloRequest.LineaTicket.Articulo.PrecioConImpuestos); parameters.Add("@ImporteImpuestoDevolucion1", devolverArticuloRequest.LineaTicket.ImporteDevolucionLineaImpuestos1); parameters.Add("@ImporteImpuestoDevolucion2", devolverArticuloRequest.LineaTicket.ImporteDevolucionLineaImpuestos2); parameters.Add("@ImporteSubtotal", devolverArticuloRequest.LineaTicket.ImporteVentaLineaBruto); parameters.Add("@ImporteTotal", devolverArticuloRequest.LineaTicket.ImporteVentaLineaNeto); parameters.Add("@ImporteDevolucionSubtotal", devolverArticuloRequest.LineaTicket.ImporteDevolucionLineaBruto); parameters.Add("@ImporteDevolucionIva", devolverArticuloRequest.LineaTicket.ImporteDevolucionLineaImpuestos); parameters.Add("@ImporteDevolucionTotal", devolverArticuloRequest.LineaTicket.ImporteDevolucionLineaNeto); parameters.Add("@ImporteDescuento", devolverArticuloRequest.LineaTicket.ImporteVentaLineaDescuentos); parameters.Add("@CodigoRazon", devolverArticuloRequest.CodigoRazon); // Propiedades de cabecera devolución parameters.Add("@ImporteVentaDevolucionImpuestos", devolverArticuloRequest.LineaTicket.cabeceraVentaRequest.ImporteDevolucionImpuestos); parameters.Add("@ImporteVentaDevolucionTotal", devolverArticuloRequest.LineaTicket.cabeceraVentaRequest.ImporteDevolucionNeto); // Propiedades de cabecera devolución List <System.Data.SqlClient.SqlParameter> parametersOut = new List <System.Data.SqlClient.SqlParameter>(); parametersOut.Add(new System.Data.SqlClient.SqlParameter() { ParameterName = "@CodigoResultado", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int }); parametersOut.Add(new System.Data.SqlClient.SqlParameter() { ParameterName = "@MensajeResultado", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.NVarChar, Size = 4000 }); var result = this.data.ExecuteProcedure("[dbo].[sp_vanti_CambiarPiezasArticuloLineaTicketDevolucion]", parameters, parametersOut); operationResponse.CodeNumber = result["@CodigoResultado"].ToString(); operationResponse.CodeDescription = result["@MensajeResultado"].ToString(); // Actualizar la cabecera de Venta new SalesRepository().ActualizarCabeceraVenta(codeStore, codeBox, codeEmployee, devolverArticuloRequest.LineaTicket.cabeceraVentaRequest); scope.Complete(); } return(operationResponse); }
public ResponseBussiness <OperationResponse> CambiarPiezasArticuloLineaTicketDevolucion(DevolverArticuloRequest devolverArticuloRequest) { TokenDto token = new TokenService().Get(); DescuentosDevolucionesBusiness descuentosDevolucionesBusiness = new DescuentosDevolucionesBusiness(token); return(descuentosDevolucionesBusiness.CambiarPiezasArticuloLineaTicketDevolucion(devolverArticuloRequest)); }
/// <summary> /// Método para aplicar un cambio de piezas sobre un artículo devuelto /// </summary> /// <param name="devolverArticuloRequest">Objeto de peticion de linea ticket de la venta</param> /// <returns>Resultado de la operación</returns> public ResponseBussiness <OperationResponse> CambiarPiezasArticuloLineaTicketDevolucion(DevolverArticuloRequest devolverArticuloRequest) { return(tryCatch.SafeExecutor(() => { return repository.CambiarPiezasArticuloLineaTicketDevolucion(token.CodeStore, token.CodeBox, token.CodeEmployee, devolverArticuloRequest); })); }