private void MethodLoadHeader() { try { CollectionESGR_UsuarioCajero.Source = new CmpObservableCollection <ESGR_Usuario>(new BSGR_Usuario().GetCollectionUsuario().Where(x => x.ESGR_Perfil.IdPerfil == 2)); CollectionESGR_Caja.Source = new BSGR_Caja().CollectionESGR_Caja(); CollectionESGR_Motivo.Source = new CmpObservableCollection <ESGR_Motivo>(new BSGR_Motivo().CollectionESGR_Motivo().Where(x => x.Modulo == "SGR_Caja")); CollectionESGR_Estado.Source = new BSGR_Estado().GetCollectionEstado("SGR_Caja"); if (ESGR_AperturaCierreCaja.Opcion == "I") { Application.Current.Dispatcher.Invoke(() => ColletionMDSGR_AperturaCajaDetalle.Clear()); SelectedESGR_Motivo = CollectionESGR_Motivo.FirstOrDefault(x => x.CodMotivo == "SLI"); CollectionESGR_Caja.Source = new CmpObservableCollection <ESGR_Caja>(CollectionESGR_Caja.Where(x => x.ESGR_Estado.CodEstado != "APTCJ" && x.FlgEliminado)); SelectedESGR_Caja = CollectionESGR_Caja.FirstOrDefault(); SelectedESGR_Estado = CollectionESGR_Estado.FirstOrDefault(x => x.CodEstado == "CRDCJ"); SelectedFecha = DateTime.Now; } else if (ESGR_AperturaCierreCaja.Opcion == "C" || ESGR_AperturaCierreCaja.Opcion == "V") { SelectedESGR_Motivo = CollectionESGR_Motivo.FirstOrDefault(x => x.CodMotivo == ((ESGR_AperturaCierreCaja.Opcion == "C") ? "SLF" : ESGR_AperturaCierreCaja.ESGR_Motivo.CodMotivo)); SelectedESGR_Caja = CollectionESGR_Caja.FirstOrDefault(x => x.IdCaja == ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja); SelectedESGR_Estado = CollectionESGR_Estado.FirstOrDefault(x => x.CodEstado == ESGR_AperturaCierreCaja.ESGR_Estado.CodEstado); SelectedESGR_UsuarioCajero = CollectionESGR_UsuarioCajero.FirstOrDefault(x => x.IdUsuario == ESGR_AperturaCierreCaja.ESGR_UsuarioCajero.IdUsuario); SelectedFecha = (ESGR_AperturaCierreCaja.ESGR_Estado.CodEstado == "APTCJ") ? (ESGR_AperturaCierreCaja.FechaApertura.ToShortDateString() == DateTime.Now.ToShortDateString()) ? DateTime.Now : ESGR_AperturaCierreCaja.FechaApertura : ESGR_AperturaCierreCaja.FechaCierre; Glosa = ESGR_AperturaCierreCaja.Glosa; } MethodValuesProperty(); } catch (Exception ex) { CmpMessageBox.Show(SGRMessage.AdministracionAperturaCierreCaja, ex.Message, CmpButton.Aceptar); } }
private string MethodPrepareDetalleXML() { string vrCadena = "<ROOT>"; ColletionMDSGR_AperturaCajaDetalle.ToList().ForEach(x => { vrCadena += "<Listar "; vrCadena += "xItem = \'" + x.Item; vrCadena += "\' xCodMoneda = \'" + x.ESGR_Moneda.CodMoneda; vrCadena += "\' xIdMedioPago = \'" + x.ESGR_MedioPago.IdMedioPago; vrCadena += "\' xMonto_Inicio = \'" + x.Monto_Inicio; vrCadena += "\' xMonto_Sistema = \'" + x.Monto_Sistema; vrCadena += "\' xMonto_Cierre = \'" + x.Monto_Cierre; vrCadena += "\' xDiferExceso = \'" + x.DiferExceso; vrCadena += "\'></Listar>"; }); vrCadena += "</ROOT>"; return(vrCadena); }
private void MethodLoadDetail() { try { if (ESGR_AperturaCierreCaja.Opcion != "I") { var vrListDetalle = new BSGR_VentaDetalle().GetCollectionVentaDetalle(0, ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja.ToString()).ToList(); var vrCollection_AperturaCierreCajaDetalle = new BSGR_AperturaCierreCaja().CollectionESGR_AperturaCierreCajaDetalle(ESGR_AperturaCierreCaja).ToList(); Application.Current.Dispatcher.Invoke(() => { ColletionMDSGR_AperturaCajaDetalle.Clear(); var CollectionESGR_Moneda = new CmpObservableCollection <ESGR_Moneda>(new BSGR_Moneda().GetCollectionMoneda()); var CollectionESGR_MedioPago = new CmpObservableCollection <ESGR_MedioPago>(new BSGR_MedioPago().GetCollectionMedioPago()); vrCollection_AperturaCierreCajaDetalle.ForEach(x => { var vrSelectMoneda = CollectionESGR_Moneda.FirstOrDefault(y => y.CodMoneda == x.ESGR_Moneda.CodMoneda); var vrSelectMedioPago = CollectionESGR_MedioPago.FirstOrDefault(y => y.IdMedioPago == x.ESGR_MedioPago.IdMedioPago); var vrDetalle = vrListDetalle.Where(z => z.ESGR_VentaCuenta.ESGR_MedioPago.IdMedioPago == x.ESGR_MedioPago.IdMedioPago && z.ESGR_VentaCuenta.ESGR_Moneda.CodMoneda == x.ESGR_Moneda.CodMoneda); ColletionMDSGR_AperturaCajaDetalle.Add(new MDSGR_AperturaCierreCajaDetalle() { Item = x.Item, CollectionESGR_Moneda = CollectionESGR_Moneda, CollectionESGR_MedioPago = CollectionESGR_MedioPago, SelectedESGR_Moneda = vrSelectMoneda, SelectedESGR_MedioPago = vrSelectMedioPago, ESGR_Moneda = x.ESGR_Moneda, Monto_Inicio = x.Monto_Inicio, Monto_Sistema = vrDetalle.Sum(y => y.Importe) - x.Monto_Inicio + vrDetalle.Sum(y => y.ESGR_VentaCuenta.Adicional) - vrDetalle.Sum(y => y.ESGR_VentaCuenta.Descuento), Monto_Cierre = x.Monto_Cierre, DiferExceso = x.DiferExceso }); }); }); } } catch (Exception ex) { CmpMessageBox.Show(SGRMessage.AdministracionAperturaCierreCaja, ex.Message, CmpButton.Aceptar); } }
private void MethodImprimir(string Titulo) { try { var vrVentaMedioPago = new BSGR_VentaCuenta().GetReportVentaMedioPago(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja); var vrVentaCategoria = new BSGR_VentaDetalle().GetReportVentaCategoria(ESGR_AperturaCierreCaja.IdAperturaCierreCaja); var vrVentaPedidoTipo = new BSGR_VentaCuenta().GetReportVentaPedidoTipo(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja); var vrVentaFormaPago = new BSGR_VentaCuenta().GetReportVentaFormaPago(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja); var vrMovimientoCaja = new BSGR_MovimientoCaja().GetReportMovimientoCaja(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja); var vrTotalDescuentos = new BSGR_VentaCuenta().GetTotalAdicionalDescuentos(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja, "GetTotalDescuento"); var vrTotalAdicional = new BSGR_VentaCuenta().GetTotalAdicionalDescuentos(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja, "GetTotalAdicional"); var vrTotalPorEstado = new BSGR_Estado().GetReportCollectionEstado(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja); var vrTotalPorPedido = new BSGR_Venta().GetTotalPorPedido(ESGR_AperturaCierreCaja.ESGR_Caja.IdCaja); Thread.Sleep(2000); CrearTicket ticket = new CrearTicket(); ticket.TextoCentro(SGRVariables.ESGR_Usuario.ESGR_Empresa.RazonSocial); ticket.TextoIzquierda("RUC: " + SGRVariables.ESGR_Usuario.ESGR_Empresa.Ruc); ticket.TextoIzquierda(SGRVariables.ESGR_Usuario.ESGR_Empresa.DireccionFiscal); ticket.TextoIzquierda(string.Empty); ticket.TextoCentro(Titulo.ToUpper()); ticket.TextoIzquierda("Corte de " + ESGR_AperturaCierreCaja.ESGR_Caja.Descripcion); ticket.TextoIzquierda("DEL " + ESGR_AperturaCierreCaja.FechaApertura.ToString().ToUpper()); ticket.TextoIzquierda(" AL " + ESGR_AperturaCierreCaja.FechaCierre.ToString().ToUpper()); ticket.lineasIgual(); ticket.TextoIzquierda(string.Empty); ticket.TextoCentro(ESGR_AperturaCierreCaja.ESGR_Caja.Descripcion); decimal dmlSaldoFinal = 0; vrVentaMedioPago.ToList().ForEach(x => { ticket.TextoTriple("+ " + x.ESGR_MedioPago.MedioPago, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3")); dmlSaldoFinal += x.Total; }); vrMovimientoCaja.ToList().ForEach(x => { ticket.TextoTriple(((x.ESGR_Motivo.Campo.Trim() == "ING") ? "+ " : "- ") + x.ESGR_Motivo.Motivo, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3")); dmlSaldoFinal += ((x.ESGR_Motivo.Campo.Trim() == "ING") ? x.Total : (-1) * x.Total); }); ticket.TextoExtremosAlineados(string.Empty, "________________"); ticket.TextoTriple("= SALDO FINAL", ": " + vrMovimientoCaja.FirstOrDefault().ESGR_Moneda.Simbolo, dmlSaldoFinal.ToString("N3")); ticket.TextoTriple("EFECTIVO FINAL", ": " + ColletionMDSGR_AperturaCajaDetalle.FirstOrDefault().SelectedESGR_Moneda.Simbolo, ColletionMDSGR_AperturaCajaDetalle.Sum(x => x.Monto_Cierre).ToString("N3")); ticket.TextoIzquierda(string.Empty); ticket.TextoCentro("FORMA DE PAGO VENTA"); vrVentaFormaPago.ToList().ForEach(x => ticket.TextoTriple(x.ESGR_MedioPago.ESGR_FormaPago.FormaPago, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3"))); ticket.TextoIzquierda(string.Empty); ticket.lineasIgual(); ticket.TextoCentro("VENTAS (INCLUYE IMPUESTO)"); ticket.TextoCentro("POR CATEGORIA"); vrVentaCategoria.ToList().ForEach(x => { ticket.TextoTriple(x.ESGR_Producto.ESGR_ProductoSubCategoria.ESGR_ProductoCategoria.Categoria, ": " + x.ESGR_VentaCuenta.ESGR_Moneda.Simbolo, x.Importe.ToString("N3")); }); ticket.TextoIzquierda(string.Empty); ticket.TextoCentro("POR TIPO DE SERVICIO"); decimal dmlSubTotal = 0; vrVentaPedidoTipo.ToList().ForEach(x => { ticket.TextoTriple(x.ESGR_Venta.ESGR_Pedido.ESGR_PedidoTipo.PedidoTipo, ": " + x.ESGR_Moneda.Simbolo, x.Total.ToString("N3")); dmlSubTotal += x.Total; }); ticket.TextoExtremosAlineados(string.Empty, "________________"); string strSimbolo = vrVentaPedidoTipo.FirstOrDefault().ESGR_Moneda.Simbolo; ticket.TextoTriple(" SUBTOTAL", ": " + strSimbolo, dmlSubTotal.ToString("N3")); ticket.TextoTriple("+ADICIONAL", ": " + strSimbolo, vrTotalAdicional.ToString("N3")); ticket.TextoTriple("-DESCUENTOS", ": " + strSimbolo, vrTotalDescuentos.ToString("N3")); decimal dmlVentaNeta = (dmlSubTotal - vrTotalDescuentos + vrTotalAdicional); ticket.TextoTriple(" VENTA NETA", ": " + strSimbolo, dmlVentaNeta.ToString("N3")); ticket.TextoExtremosAlineados(string.Empty, "________________"); dmlVentaNeta = dmlVentaNeta / ((SGRVariables.ESGR_Retencion.IGV / 100) + 1); ticket.TextoTriple("VENTA (" + SGRVariables.ESGR_Retencion.IGV.ToString("N2") + "%)", ": " + strSimbolo, dmlVentaNeta.ToString("N3")); decimal dmlImpuesto = dmlVentaNeta * (SGRVariables.ESGR_Retencion.IGV / 100); ticket.TextoTriple("IMPUESTO (" + SGRVariables.ESGR_Retencion.IGV.ToString("N2") + "%)", ": " + strSimbolo, dmlImpuesto.ToString("N3")); ticket.TextoIzquierda(string.Empty); ticket.TextoTriple("IMPUESTO TOTAL", ": " + strSimbolo, dmlImpuesto.ToString("N3")); ticket.TextoExtremosAlineados(string.Empty, "________________"); ticket.TextoTriple("VENTA CON IMP.", ": " + strSimbolo, (dmlVentaNeta + dmlImpuesto).ToString("N3")); ticket.TextoExtremosAlineados(string.Empty, "================"); ticket.TextoIzquierda(string.Empty); ticket.lineasIgual(); #region OPCIONAL //ticket.TextoExtremosAliniados("CUENTAS NORMALES", ": 0"); //ticket.TextoExtremosAliniados("CUENTAS CANCELADOS", ": 0"); //ticket.TextoExtremosAliniados("CUENTAS CON DESCUENTO", ": 0"); //ticket.TextoExtremosAliniados("CUENTAS CON CORTESIA", ": 0"); //ticket.TextoExtremosAliniados("CUENTA PROMEDIO", ": S/. 0.000"); //ticket.TextoExtremosAliniados("CONSUMO PROMEDIO", ": S/. 0.000"); //ticket.TextoExtremosAliniados("COMENSALES", ": 0"); //ticket.TextoExtremosAliniados("PROPINAS", ": S/. 0.000"); //ticket.TextoExtremosAliniados("CARGOS", ": S/. 0.000"); //ticket.TextoExtremosAliniados("DESCUENTO MONEDERO", ": S/. 0.000"); //ticket.TextoExtremos("FOLIO INICIAL", "828"); //ticket.TextoExtremos("FOLIO FINAL", "890"); //ticket.TextoExtremosAliniados("CORTESIA ALIMENTOS", ": S/. 0.000"); //ticket.TextoExtremosAliniados("CORTESIA BEBIDAS", ": S/. 0.000"); //ticket.TextoExtremosAliniados("CORTESIA OTROS", ": S/. 0.000"); //ticket.TextoExtremosAliniados(string.Empty, "________________"); //ticket.TextoExtremosAliniados("TOTAL CORTESIAS", ": S/. 0.000"); //ticket.TextoExtremosAliniados("DESCUENTO ALIMENTOS", ": S/. 0.000"); //ticket.TextoExtremosAliniados("DESCUENTO BEBIDAS", ": S/. 0.000"); //ticket.TextoExtremosAliniados("DESCUENTO OTROS", ": S/. 0.000"); //ticket.TextoExtremosAliniados(string.Empty, "________________"); //ticket.TextoExtremosAliniados("TOTAL DESCUENTOS", ": S/. 0.000"); #endregion ticket.TextoCentro("REPORTE DE PEDIDOS"); ticket.lineasAsteriscos(); ticket.TextoTriple("FOLIO INICIAL", ": ", vrTotalPorPedido.FirstOrDefault().ESGR_Pedido.IdPedido.ToString("00000#")); ticket.TextoTriple("FOLIO FINAL", ": ", vrTotalPorPedido.LastOrDefault().ESGR_Pedido.IdPedido.ToString("00000#")); ticket.TextoTriple("COMENSALES APROX.", ": ", vrTotalPorPedido.Sum(x => x.ESGR_Pedido.Cubierto).ToString("00#")); vrTotalPorEstado.ToList().ForEach(x => ticket.TextoTriple(x.Estado, ": ", x.Total.ToString("00#"))); ticket.TextoIzquierda(string.Empty); ticket.TextoCentro("DECLARACION DE CAJERO"); decimal dmlTotalCajero = 0; ColletionMDSGR_AperturaCajaDetalle.FirstOrDefault().CollectionESGR_MedioPago.ToList().ForEach(x => { var dml = ColletionMDSGR_AperturaCajaDetalle.FirstOrDefault(y => y.SelectedESGR_MedioPago.IdMedioPago == x.IdMedioPago); ticket.TextoTriple(x.MedioPago, ": " + strSimbolo, ((dml == null) ? "0.000" : dml.Monto_Cierre.ToString("N3"))); dmlTotalCajero += (dml == null) ? 0 : dml.Monto_Cierre; }); ticket.TextoExtremosAlineados(string.Empty, "________________"); ticket.TextoTriple("TOTAL", ": " + strSimbolo, dmlTotalCajero.ToString("N3")); ticket.TextoIzquierda(string.Empty); ticket.TextoIzquierda("SOBRANTE(+) O FALTANTE(-): "); decimal dmlCierre = dmlTotalCajero - (dmlVentaNeta + dmlImpuesto); ticket.TextoDerecha(strSimbolo + " " + ((dmlCierre < 0) ? string.Empty : "+") + dmlCierre.ToString("N3")); ticket.TextoIzquierda(string.Empty); ticket.TextoIzquierda(string.Empty); ticket.TextoExtremosAlineados("_________________", "_________________"); ticket.TextoExtremosAlineados(" GERENTE", " CAJERO"); ticket.TextoIzquierda(string.Empty); ticket.TextoIzquierda(string.Empty); ticket.TextoCentro(SGRMessage.TitleMessage.ToUpper()); ticket.TextoIzquierda(string.Empty); //Application.Current.Dispatcher.Invoke(() => //{ ticket.ImprimirTicket(SGRVariables.ImpresoraCaja); //}); } catch (Exception) { throw; } }