/// <summary> /// Aplicación de un Descuento Directo /// </summary> /// <param name="lineaTicket">Objeto de peticion linea ticket de la venta</param> /// <returns>Resultado de la operación</returns> public ResponseBussiness <OperationResponse> AplicarDescuentoDirecto(LineaTicket lineaTicket) { return(tryCatch.SafeExecutor(() => { return repository.AplicarDescuentoDirecto(token.CodeStore, token.CodeBox, token.CodeEmployee, lineaTicket); })); }
/// <summary> /// Cambio de Piezas de una Linea Ticket /// </summary> /// <param name="lineaTicket">Objeto de peticion linea ticket de apartado</param> /// <returns></returns> public ResponseBussiness <OperationResponse> CambiarPiezasLineaTicketVenta(LineaTicket lineaTicket) { return(tryCatch.SafeExecutor(() => { return repository.CambiarPiezasLineaTicketVenta(token.CodeStore, token.CodeBox, token.CodeEmployee, lineaTicket); })); }
public ResponseBussiness <OperationResponse> CambiarPiezasLineaTicketVenta(LineaTicket lineaTicket) { TokenDto token = new TokenService().Get(); ResponseBussiness <OperationResponse> response = new SalesBusiness(token).CambiarPiezasLineaTicketVenta(lineaTicket); return(response); }
public ResponseBussiness <OperationResponse> AplicarDescuentoDirecto(LineaTicket lineaTicket) { new SecurityBusiness().ValidarPermisos("descuentoDirectoVenta", "E"); TokenDto token = new TokenService().Get(); ResponseBussiness <OperationResponse> response = new DescuentosDevolucionesBusiness(token).AplicarDescuentoDirecto(lineaTicket); return(response); }
/// <summary> /// Almacenamiento de una Linea Ticket /// </summary> /// <param name="lineaTicket">Objeto de peticion linea ticket de la venta</param> /// <returns></returns> public ResponseBussiness <OperacionLineaTicketVentaResponse> AgregarLineaTicketVenta(LineaTicket lineaTicket) { return(tryCatch.SafeExecutor(() => { OperacionLineaTicketVentaResponse response = repository.AgregarLineaTicketVenta(token.CodeStore, token.CodeBox, token.CodeEmployee, lineaTicket); return response; })); }
/// <summary> /// Eliminación de una Linea Ticket /// </summary> /// <param name="secuenciaOriginalLineaTicket">Secuencia original de la línea eliminada</param> /// <param name="lineaTicket">Objeto de peticion linea ticket del apartado</param> /// <returns></returns> public ResponseBussiness <OperationResponse> EliminarLineaTicketVenta(int secuenciaOriginalLineaTicket, LineaTicket lineaTicket) { return(tryCatch.SafeExecutor(() => { return repository.EliminarLineaTicketApartado(token.CodeStore, token.CodeBox, token.CodeEmployee, secuenciaOriginalLineaTicket, lineaTicket); })); }
/// <summary> /// Aplicar descuento directo sobre línea /// </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="lineaTicket">Objeto de peticion linea ticket de la venta</param> /// <returns>Resultado de la operación</returns> public OperationResponse AplicarDescuentoDirecto(int codeStore, int codeBox, int codeEmployee, LineaTicket lineaTicket) { OperationResponse operationResponse = new OperationResponse(); using (TransactionScope scope = new TransactionScope()) { var parameters = new Dictionary <string, object>(); parameters.Add("@FolioOperacion", lineaTicket.cabeceraVentaRequest.FolioOperacion); parameters.Add("@CodigoTienda", codeStore); parameters.Add("@CodigoCaja", codeBox); parameters.Add("@SecuenciaLineaTicket", lineaTicket.Secuencia); parameters.Add("@PorcentajeDescuento", lineaTicket.DescuentoDirectoLinea.PorcentajeDescuento); parameters.Add("@ImporteDescuento", lineaTicket.DescuentoDirectoLinea.ImporteDescuento); parameters.Add("@CodigoRazonDescuento", lineaTicket.DescuentoDirectoLinea.CodigoRazonDescuento); parameters.Add("@TipoDescuento", lineaTicket.DescuentoDirectoLinea.TipoDescuento); parameters.Add("@CantidadVendida", lineaTicket.CantidadVendida); parameters.Add("@CantidadDevuelta", lineaTicket.CantidadDevuelta); parameters.Add("@ImporteImpuesto1", lineaTicket.ImporteVentaLineaImpuestos1); parameters.Add("@ImporteImpuesto2", lineaTicket.ImporteVentaLineaImpuestos2); parameters.Add("@ImporteVentaLineaDescuentos", lineaTicket.ImporteVentaLineaDescuentos); parameters.Add("@ImporteSubtotal", lineaTicket.ImporteVentaLineaBruto); parameters.Add("@ImporteTotal", lineaTicket.ImporteVentaLineaNeto); if ((lineaTicket.DescuentoDirectoLinea.ULSession != null) && (lineaTicket.DescuentoDirectoLinea.ULSession.Length > 10)) { parameters.Add("@ULSession", lineaTicket.DescuentoDirectoLinea.ULSession); parameters.Add("@EstatusDescuento", "P"); } else { parameters.Add("@ULSession", ""); parameters.Add("@EstatusDescuento", "F"); } 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_ProcesarDescuentosDet]", parameters, parametersOut); operationResponse.CodeNumber = result["@CodigoResultado"].ToString(); operationResponse.CodeDescription = result["@MensajeResultado"].ToString(); // Actualizar la cabecera de Venta new SalesRepository().ActualizarCabeceraVenta(codeStore, codeBox, codeEmployee, lineaTicket.cabeceraVentaRequest); scope.Complete(); } return(operationResponse); }
public ResponseBussiness <OperacionLineaTicketVentaResponse> AgregarLineaTicketVenta(LineaTicket lineaTicket) { TokenDto token = new TokenService().Get(); ResponseBussiness <OperacionLineaTicketVentaResponse> response = new SalesBusiness(token).AgregarLineaTicketVenta(lineaTicket); return(response); }
/// <summary> /// Cambio de Piezas de una Linea Ticket /// </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="lineaTicket">Objeto de peticion linea ticket de la venta</param> /// <returns>Resultado de la operación</returns> public OperationResponse CambiarPiezasLineaTicketVenta(int codeStore, int codeBox, int codeEmployee, LineaTicket lineaTicket) { OperationResponse operationResponse = new OperationResponse(); using (TransactionScope scope = new TransactionScope()) { var parameters = new Dictionary <string, object>(); parameters.Add("@FolioOperacion", lineaTicket.cabeceraVentaRequest.FolioOperacion); parameters.Add("@CodigoTienda", codeStore); parameters.Add("@CodigoCaja", codeBox); parameters.Add("@Secuencia", lineaTicket.Secuencia); parameters.Add("@CantidadVendida", lineaTicket.CantidadVendida); parameters.Add("@CantidadDevuelta", lineaTicket.CantidadDevuelta); parameters.Add("@TasaImpuesto1", lineaTicket.Articulo.TasaImpuesto1); parameters.Add("@TasaImpuesto2", lineaTicket.Articulo.TasaImpuesto2); parameters.Add("@ImporteImpuesto1", lineaTicket.ImporteVentaLineaImpuestos1); parameters.Add("@ImporteImpuesto2", lineaTicket.ImporteVentaLineaImpuestos2); parameters.Add("@CostoUnitario", lineaTicket.Articulo.PrecioConImpuestos); parameters.Add("@CodigoImpuesto1", lineaTicket.Articulo.CodigoImpuesto1); parameters.Add("@CodigoImpuesto2", lineaTicket.Articulo.CodigoImpuesto2); parameters.Add("@ImporteTotal", lineaTicket.ImporteVentaLineaNeto); 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_CambiarPiezasLineaTicketApartado]", parameters, parametersOut); operationResponse.CodeNumber = result["@CodigoResultado"].ToString(); operationResponse.CodeDescription = result["@MensajeResultado"].ToString(); // Actualizar la cabecera de Venta this.ActualizarCabeceraApartado(codeStore, codeBox, codeEmployee, lineaTicket.cabeceraVentaRequest); scope.Complete(); } return(operationResponse); }
private void AgregarDetalleApartado(string folioApartado, int codigoTienda, int codigoCaja, string tipoCabeceraVenta, LineaTicket lineaTicket) { var parameters = new Dictionary <string, object>(); parameters.Add("@FolioApartado", folioApartado); parameters.Add("@CodigoTienda", codigoTienda); parameters.Add("@CodigoCaja", codigoCaja); parameters.Add("@Secuencia", lineaTicket.Secuencia); parameters.Add("@TipoTransaccion", lineaTicket.TipoDetalleVenta); parameters.Add("@Sku", lineaTicket.Articulo.Sku); parameters.Add("@CantidadVendida", lineaTicket.CantidadVendida); parameters.Add("@CantidadDevuelta", lineaTicket.CantidadDevuelta); parameters.Add("@Upc", lineaTicket.Articulo.Upc); parameters.Add("@TasaImpuesto1", lineaTicket.Articulo.TasaImpuesto1); parameters.Add("@TasaImpuesto2", lineaTicket.Articulo.TasaImpuesto2); parameters.Add("@ImporteImpuesto1", lineaTicket.ImporteVentaLineaImpuestos1); parameters.Add("@ImporteImpuesto2", lineaTicket.ImporteVentaLineaImpuestos2); parameters.Add("@CostoUnitario", lineaTicket.Articulo.PrecioConImpuestos); parameters.Add("@CodigoImpuesto1", lineaTicket.Articulo.CodigoImpuesto1); parameters.Add("@CodigoImpuesto2", lineaTicket.Articulo.CodigoImpuesto2); parameters.Add("@ImporteTotal", lineaTicket.ImporteVentaLineaNeto); parameters.Add("@ImporteSubTotal", lineaTicket.ImporteVentaLineaBruto); parameters.Add("@DigitoVerificadorCorrecto", lineaTicket.Articulo.DigitoVerificadorArticulo.DigitoVerificadorCorrecto); parameters.Add("@DigitoVerificadorLeido", lineaTicket.Articulo.DigitoVerificadorArticulo.DigitoVerificadorActual); //Si se trata de una venta de Tiempo Aire se agrega la referencia if (tipoCabeceraVenta == "5") { parameters.Add("@Referencia", lineaTicket.Articulo.InformacionProveedorExternoTA.SkuCompania); } if (lineaTicket.Articulo.InformacionTarjetaRegalo != null) { parameters.Add("@FolioTarjetaRegalo", lineaTicket.Articulo.InformacionTarjetaRegalo.FolioTarjeta); parameters.Add("@DescripcionTarjetaRegalo", lineaTicket.Articulo.InformacionTarjetaRegalo.Descripcion); } 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 }); data.ExecuteProcedure("[dbo].[sp_vanti_AgregarLineaTicketApartado]", parameters, parametersOut); }
/// <summary> /// Almacenamiento de una Linea Ticket /// </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="lineaTicket">Objeto de peticion linea ticket de la venta</param> /// <returns>Resultado de la operación</returns> public OperacionLineaTicketVentaResponse AgregarLineaTicketVenta(int codeStore, int codeBox, int codeEmployee, LineaTicket lineaTicket) { OperacionLineaTicketVentaResponse operacionLineaTicketVentaResponse = new OperacionLineaTicketVentaResponse(); using (TransactionScope scope = new TransactionScope()) { operacionLineaTicketVentaResponse.FolioOperacion = lineaTicket.cabeceraVentaRequest.FolioOperacion; if (operacionLineaTicketVentaResponse.FolioOperacion == "") { operacionLineaTicketVentaResponse.FolioOperacion = this.AgregarCabeceraApartado(codeStore, codeBox, codeEmployee, lineaTicket.cabeceraVentaRequest); } this.AgregarDetalleApartado(operacionLineaTicketVentaResponse.FolioOperacion, codeStore, codeBox, lineaTicket.cabeceraVentaRequest.TipoCabeceraVenta, lineaTicket); this.ActualizarCabeceraApartado(codeStore, codeBox, codeEmployee, lineaTicket.cabeceraVentaRequest); scope.Complete(); } return(operacionLineaTicketVentaResponse); }
/// <summary> /// Eliminación de una Linea Ticket /// </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="secuenciaOriginalLineaTicket">Secuencia original de la línea eliminada</param> /// <param name="lineaTicket">Objeto de peticion linea ticket de la venta</param> /// <returns>Resultado de la operación</returns> public OperationResponse EliminarLineaTicketApartado(int codeStore, int codeBox, int codeEmployee, int secuenciaOriginalLineaTicket, LineaTicket lineaTicket) { OperationResponse operationResponse = new OperationResponse(); using (TransactionScope scope = new TransactionScope()) { // Actualizar el estatus de la linea que fue eliminada (eliminación lógica) var parameters = new Dictionary <string, object>(); parameters.Add("@FolioOperacion", lineaTicket.cabeceraVentaRequest.FolioOperacion); parameters.Add("@CodigoTienda", codeStore); parameters.Add("@CodigoCaja", codeBox); parameters.Add("@Secuencia", secuenciaOriginalLineaTicket); List <System.Data.SqlClient.SqlParameter> parametersOut = new List <System.Data.SqlClient.SqlParameter>(); var result = this.data.ExecuteProcedure("[dbo].[sp_vanti_ActualizarEstatusLineaTicketApartado]", parameters, parametersOut); // Agregar la nueva linea con transacción de tipo 87 parameters = new Dictionary <string, object>(); parameters.Add("@FolioApartado", lineaTicket.cabeceraVentaRequest.FolioOperacion); parameters.Add("@CodigoTienda", codeStore); parameters.Add("@CodigoCaja", codeBox); parameters.Add("@Secuencia", lineaTicket.Secuencia); parameters.Add("@TipoTransaccion", lineaTicket.TipoDetalleVenta); parameters.Add("@Sku", lineaTicket.Articulo.Sku); parameters.Add("@CantidadVendida", (lineaTicket.CantidadVendida * -1)); parameters.Add("@CantidadDevuelta", 0); parameters.Add("@Upc", lineaTicket.Articulo.Upc); parameters.Add("@TasaImpuesto1", lineaTicket.Articulo.TasaImpuesto1); parameters.Add("@TasaImpuesto2", lineaTicket.Articulo.TasaImpuesto2); parameters.Add("@ImporteImpuesto1", (lineaTicket.ImporteVentaLineaImpuestos1 * -1)); parameters.Add("@ImporteImpuesto2", (lineaTicket.ImporteVentaLineaImpuestos2 * -1)); parameters.Add("@CostoUnitario", (lineaTicket.Articulo.PrecioConImpuestos * -1)); parameters.Add("@CodigoImpuesto1", lineaTicket.Articulo.CodigoImpuesto1); parameters.Add("@CodigoImpuesto2", lineaTicket.Articulo.CodigoImpuesto2); parameters.Add("@ImporteSubtotal", (lineaTicket.ImporteVentaLineaBruto * -1)); parameters.Add("@ImporteTotal", (lineaTicket.ImporteVentaLineaNeto * -1)); //Si se trata de una venta de Tiempo Aire se agrega la referencia if (lineaTicket.cabeceraVentaRequest.TipoCabeceraVenta == "5") { parameters.Add("@Referencia", lineaTicket.Articulo.InformacionProveedorExternoTA.SkuCompania); } 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 }); result = this.data.ExecuteProcedure("[dbo].[sp_vanti_AgregarLineaTicketApartado]", parameters, parametersOut); operationResponse.CodeNumber = result["@CodigoResultado"].ToString(); operationResponse.CodeDescription = result["@MensajeResultado"].ToString(); // Actualizar la cabecera de Venta this.ActualizarCabeceraApartado(codeStore, codeBox, codeEmployee, lineaTicket.cabeceraVentaRequest); scope.Complete(); } return(operationResponse); }