/// <summary> /// Totalizar Venta /// </summary> /// <param name="totalizarVentaRequest">Petición de totalización de venta</param> /// <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> /// <returns>Folio de Venta</returns> public TotalizarApartadoResponse TotalizarApartado(TotalizarApartadoRequest totalizarVentaRequest, int codeStore, int codeBox, int codeEmployee) { FormasPagoRepository formasPagoRepository = new FormasPagoRepository(); TotalizarApartadoResponse totalizarVentaResponse = new TotalizarApartadoResponse(); using (TransactionScope scope = new TransactionScope()) { totalizarVentaResponse.FolioOperacion = totalizarVentaRequest.cabeceraVentaRequest.FolioOperacion; // Actualizar el estatus de la venta var parameters = new Dictionary <string, object>(); parameters.Add("@FolioOperacion", totalizarVentaResponse.FolioOperacion); parameters.Add("@CodigoTienda", codeStore); parameters.Add("@CodigoCaja", codeBox); List <System.Data.SqlClient.SqlParameter> parametersOut = new List <System.Data.SqlClient.SqlParameter>(); this.data.ExecuteProcedure("[dbo].[sp_vanti_TotalizarApartado]", parameters, parametersOut); // Información acerca de las formas de pago que deben mostrarse en el Front totalizarVentaResponse.InformacionAsociadaFormasPago = formasPagoRepository.GetConfigFormasPago(codeBox, codeStore, totalizarVentaRequest.cabeceraVentaRequest.FolioOperacion, totalizarVentaRequest.cabeceraVentaRequest.FolioDevolucion, totalizarVentaRequest.cabeceraVentaRequest.TipoCabeceraVenta); totalizarVentaResponse.InformacionAsociadaFormasPagoMonedaExtranjera = formasPagoRepository.GetConfigFormasPagoExt(codeBox, codeStore, totalizarVentaRequest.cabeceraVentaRequest.FolioOperacion, totalizarVentaRequest.cabeceraVentaRequest.FolioDevolucion, totalizarVentaRequest.cabeceraVentaRequest.TipoCabeceraVenta); // Actualizar la cabecera this.ActualizarCabeceraApartado(codeStore, codeBox, codeEmployee, totalizarVentaRequest.cabeceraVentaRequest); scope.Complete(); } return(totalizarVentaResponse); }
/// <summary> /// Totalización de apartado /// </summary> /// <param name="request">Objeto de peticion del apartado a totalizar</param> /// <returns></returns> public ResponseBussiness <TotalizarApartadoResponse> TotalizarApartado(TotalizarApartadoRequest request) { return(tryCatch.SafeExecutor(() => { TotalizarApartadoResponse response = repository.TotalizarApartado(request, token.CodeStore, token.CodeBox, token.CodeEmployee); return response; })); }