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 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);
     }
 }