Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        public ResponseBussiness <OperationResponse> CambiarPiezasArticuloLineaTicketDevolucion(DevolverArticuloRequest devolverArticuloRequest)
        {
            TokenDto token = new TokenService().Get();
            DescuentosDevolucionesBusiness descuentosDevolucionesBusiness = new DescuentosDevolucionesBusiness(token);

            return(descuentosDevolucionesBusiness.CambiarPiezasArticuloLineaTicketDevolucion(devolverArticuloRequest));
        }
Esempio n. 3
0
 /// <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);
     }));
 }