/// <summary> /// Extrae la informacion de la lectura X y Z /// </summary> /// <param name="printTicketEgresosRequest"></param> public PrintTicketEgresosResponse[] getEgresosTicket(PrintTicketEgresosRequest printTicketEgresosRequest) { List <PrintTicketEgresosResponse> printTicketEgresosResponsList = new List <PrintTicketEgresosResponse>(); var parameters = new Dictionary <string, object>(); if (string.IsNullOrEmpty(printTicketEgresosRequest.FolioCorteZ)) { printTicketEgresosRequest.FolioCorteZ = ""; } else { printTicketEgresosRequest.FolioRetiro = ""; } parameters.Add("@FolioRetiro", printTicketEgresosRequest.FolioRetiro); parameters.Add("@FolioCorteZ", printTicketEgresosRequest.FolioCorteZ); foreach (var c in data.GetDataReader("dbo.sp_vanti_DatosTicketEgresosParciales", parameters)) { PrintTicketEgresosResponse printTicketEgresos = new PrintTicketEgresosResponse(); printTicketEgresos.Texto = c.GetValue(1).ToString(); printTicketEgresos.Formato = c.GetValue(0).ToString(); printTicketEgresosResponsList.Add(printTicketEgresos); } return(printTicketEgresosResponsList.ToArray()); }
/// <summary> /// Lectura Z /// </summary> /// <returns>Respuesta de la operación</returns> public ResponseBussiness <OperationResponse> LecturaZ(LecturaCaja lecturaCaja) { return(tryCatch.SafeExecutor(() => { OperationResponse resultado = new OperationResponse(); LecturaZGuardarResponse lecturaZGuardarResponse = new LecturaZGuardarResponse(); LecturaTotalDetalleFormaPago lecturaTotalDetalleFormaPagoCA = null; using (TransactionScope scope = new TransactionScope()) { int secuencia = 1; // Se ejecuta la lectura X LecturaX lecturaX = repository.ObtenerFoliosLecturaX(token.CodeStore, token.CodeBox, token.CodeEmployee, 0); foreach (var lecturaTotalDetalleFormaPago in lecturaCaja.LecturasTotales) { resultado = repository.LecturaX(token.CodeStore, token.CodeBox, token.CodeEmployee, lecturaTotalDetalleFormaPago.InformacionAsociadaFormasPago.CodigoFormaPago, secuencia, lecturaTotalDetalleFormaPago.ImporteFisico, lecturaTotalDetalleFormaPago.ImporteTeorico, lecturaTotalDetalleFormaPago.ImporteFisico, lecturaX); if (lecturaTotalDetalleFormaPago.InformacionAsociadaFormasPago.CodigoFormaPago == "CA") { lecturaTotalDetalleFormaPagoCA = lecturaTotalDetalleFormaPago; } secuencia = secuencia + 1; } // Se ejecutar la lectura Z if (lecturaTotalDetalleFormaPagoCA != null) { lecturaZGuardarResponse = repository.LecturaZ(token.CodeStore, token.CodeBox, token.CodeEmployee, lecturaX.FolioCorteParcial, lecturaTotalDetalleFormaPagoCA.ImporteFisico, lecturaTotalDetalleFormaPagoCA.ImporteTeorico, lecturaTotalDetalleFormaPagoCA.ImporteFisico, 0); resultado.CodeNumber = lecturaZGuardarResponse.CodeNumber; resultado.CodeDescription = lecturaZGuardarResponse.CodeDescription; // Se persisten las denominaciones foreach (var item in lecturaTotalDetalleFormaPagoCA.InformacionAsociadaDenominaciones) { repository.PersistirDenominacionesRetiro(lecturaX.FolioCorteParcial, item.CodigoFormaPago, item.TextoDenominacion, item.Cantidad); } } scope.Complete(); } // Imprimir Ticket PrintTickectLecturaBusiness printTickectLectura = new PrintTickectLecturaBusiness(token); PrintLecturaRequest printLecturaRequest = new PrintLecturaRequest(); printLecturaRequest.FolioCorte = lecturaZGuardarResponse.FolioCorte; printLecturaRequest.TipoLectura = "z"; printTickectLectura.PrintNow(printLecturaRequest); PrintTicketEgresosBusiness printTicketEgresos = new PrintTicketEgresosBusiness(token); PrintTicketEgresosRequest printTicketEgresosRequest = new PrintTicketEgresosRequest(); printTicketEgresosRequest.FolioCorteZ = lecturaZGuardarResponse.FolioCorte; printTicketEgresos.PrintNow(printTicketEgresosRequest); return resultado; })); }
public ResponseBussiness <OperationResponse> PrintRetiroParcial(string folio) { new SecurityBusiness().ValidarPermisos("imprimirTicket", "E"); TokenDto token = new TokenService().Get(); PrintTicketEgresosBusiness printTicketEgresos = new PrintTicketEgresosBusiness(token); PrintTicketEgresosRequest printTicketEgresosRequest = new PrintTicketEgresosRequest(); printTicketEgresosRequest.FolioCorteZ = folio; OperationResponse operation = printTicketEgresos.PrintNow(printTicketEgresosRequest); return(operation); }
/// <summary> /// Retiro Parcial de Efectivo /// </summary> /// <param name="retiroParcialEfectivo">Objeto que representa el retiro parcial de efectivo</param> /// <returns>Respuesta de la operación</returns> public ResponseBussiness <OperationResponse> RetiroParcialEfectivo(RetiroParcialEfectivo retiroParcialEfectivo) { return(tryCatch.SafeExecutor(() => { OperationResponse operationResponse = new OperationResponse(); RetiroParcialEfectivoResponse retiroParcialEfectivoResponse = repository.RetiroParcialEfectivo(token.CodeStore, token.CodeBox, token.CodeEmployee, retiroParcialEfectivo); operationResponse.CodeDescription = retiroParcialEfectivoResponse.CodeDescription; operationResponse.CodeNumber = retiroParcialEfectivoResponse.CodeNumber; AbrirCajon(); PrintTicketEgresosBusiness printTicketEgresos = new PrintTicketEgresosBusiness(token); PrintTicketEgresosRequest printTicketEgresosRequest = new PrintTicketEgresosRequest(); printTicketEgresosRequest.FolioRetiro = retiroParcialEfectivoResponse.FolioRetiro; printTicketEgresos.PrintNow(printTicketEgresosRequest); return operationResponse; })); }
/// <summary> /// Imprime los tickets de egresos /// </summary> public OperationResponse PrintNow(PrintTicketEgresosRequest printTicketEgresosRequest) { OperationResponse operationResponse = new OperationResponse(); try { this.printTicketEgresosRequest = printTicketEgresosRequest; if (printDocument.PrinterSettings.IsValid) { printDocument.Print(); operationResponse.CodeNumber = "100"; operationResponse.CodeNumber = "Impresion correcta"; //AbrirCajon(); } } catch (Exception exception) { TryCatchBusinessExecutor tryCatch = new TryCatchBusinessExecutor(); tryCatch.AddErrorLog <OperationResponse>(exception.Message, exception.StackTrace, "Negocio", exception.ToString(), "Error de impresión"); operationResponse.CodeNumber = "300"; operationResponse.CodeNumber = exception.Message; } return(operationResponse); }