Example #1
0
        private void NuevoMontoAFavor()
        {
            if (ucPagos1.Total != _pagoCelular.Monto)
            {
                if (MessageBox.Show("Desea guardar el monto a favor?", "Monto a favor", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
                {
                    var monto       = ucPagos1.Total - _pagoCelular.Monto;
                    var montoAFavor = new ChoferMontoFavor();
                    montoAFavor.Id                = Guid.NewGuid();
                    montoAFavor.ChoferId          = _chofer.Id;
                    montoAFavor.FechaComprobante  = _clock.Now;
                    montoAFavor.TipoComprobanteId = 1; //Monto a Favor
                    montoAFavor.Concepto          = "Monto a favor";
                    montoAFavor.Importe           = monto;
                    montoAFavor.ImpOcupado        = 0;
                    montoAFavor.FechaAlta         = _clock.Now;
                    montoAFavor.OperadorAltaId    = Context.OperadorActual.Id;
                    montoAFavor.SucursalAltaId    = Context.SucursalActual.Id;

                    Uow.ChoferesMontosFavor.Agregar(montoAFavor);
                }
            }
        }
        private void CambioCelular(Celular celular)
        {
            var chofer = Uow.Choferes.Obtener(c => c.Id == _chofer.Id);

            chofer.CelularId = celular.Id;

            Uow.Choferes.Modificar(chofer);

            _celularAnterior.Baja = _clock.Now;
            Uow.Celulares.Modificar(_celularAnterior);
            var historialAnterior = Uow.ChoferCelulares.Listado().Where(c => c.CelularId == _celularAnterior.Id).FirstOrDefault();

            if (historialAnterior != null)
            {
                historialAnterior.Baja = _clock.Now;
                historialAnterior.FechaModificacion      = _clock.Now;
                historialAnterior.OperadorModificacionId = Context.OperadorActual.Id;
                historialAnterior.SucursalModificacionId = Context.SucursalActual.Id;

                Uow.ChoferCelulares.Modificar(historialAnterior);
            }

            //Historial de ChoferCelular
            var historial = new ChoferCelular();

            historial.Choferid       = _chofer.Id;
            historial.CelularId      = _celularNuevo.Id;
            historial.Alta           = _clock.Now;
            historial.FechaAlta      = _clock.Now;
            historial.OperadorAltaId = Context.OperadorActual.Id;
            historial.SucursalAltaId = Context.SucursalActual.Id;
            Uow.ChoferCelulares.Agregar(historial);


            //Copiar las fechas de ultimos pagos

            _celularNuevo.FechaProximoPago     = _celularAnterior.FechaProximoPago;
            _celularNuevo.FechaUltimoPago      = _celularAnterior.FechaUltimoPago;
            _celularNuevo.FechaVencimientoPago = _celularAnterior.FechaVencimientoPago;

            Uow.Celulares.Modificar(_celularNuevo);

            //MontoAFavor
            TimeSpan diferenciaDias = (_celularAnterior.FechaVencimientoPago ?? _clock.Now) - _clock.Now;

            DiferenciaDias = diferenciaDias.Days;

            DiferenciaMonto = _celularAnterior.TiposCelulares.Monto - _celularNuevo.TiposCelulares.Monto;
            MontoAFavor     = DiferenciaDias * DiferenciaMonto;

            var montoAFavor = new ChoferMontoFavor();

            montoAFavor.Id                = Guid.NewGuid();
            montoAFavor.ChoferId          = _chofer.Id;
            montoAFavor.FechaComprobante  = _clock.Now;
            montoAFavor.TipoComprobanteId = 1;
            montoAFavor.Concepto          = "Cambio de celular";
            montoAFavor.Importe           = MontoAFavor;
            montoAFavor.ImpOcupado        = 0;
            montoAFavor.FechaAlta         = _clock.Now;
            montoAFavor.OperadorAltaId    = Context.OperadorActual.Id;
            montoAFavor.SucursalAltaId    = Context.SucursalActual.Id;

            Uow.ChoferesMontosFavor.Agregar(montoAFavor);

            //Generar PagoCelular
            var pagoCelular = new PagoCelular();

            pagoCelular.Id             = Guid.NewGuid();
            pagoCelular.Desde          = _clock.Now;
            pagoCelular.Hasta          = _clock.Now;
            pagoCelular.CelularId      = _celularNuevo.Id;
            pagoCelular.FechaAlta      = _clock.Now;
            pagoCelular.OperadorAltaId = Context.OperadorActual.Id;
            pagoCelular.SucursalAltaId = Context.SucursalActual.Id;
            Uow.PagosCelulares.Agregar(pagoCelular);

            // _celular = celular;
            CelularNuevo = _celularNuevo.TiposCelulares.Tipo;
        }
Example #3
0
        private void BtnEliminarPago_Click(object sender, EventArgs e)
        {
            var selectedRow = this.dgvhistorial.Rows[0];
            var pago        = selectedRow.DataBoundItem as HistorialPagosChofer_Result;

            if (pago == null)
            {
                return;
            }

            var _pago = Uow.PagosCelulares.Obtener(p => p.Id == pago.Id);

            //ANULO EL PAGO
            _pago.Anulada        = true;
            _pago.FechaAnulacion = _clock.Now;
            //_pago.OperadorAutoriza= Operador autorizacion
            Uow.PagosCelulares.Modificar(_pago);

            //MODIFICAR CAJA Y CAJA MOVIMIENTO
            var caja = Uow.Cajas.Listado().Where(c => c.OperadorId == Context.OperadorActual.Id && c.FCierre == null).OrderByDescending(c => c.FechaAlta).FirstOrDefault();

            caja.Ingresos = (caja.Ingresos ?? 0) - (pago.Efectivo ?? 0) - (pago.Vales ?? 0);
            caja.Saldo    = (caja.Saldo ?? 0) - (pago.Efectivo ?? 0) - (pago.Vales ?? 0);
            if (pago.Efectivo != null)
            {
                caja.Efectivo -= pago.Efectivo;
            }
            if (pago.Vales != null)
            {
                caja.Vales -= pago.Vales;
            }

            caja.FechaModificacion      = _clock.Now;
            caja.OperadorModificacionId = Context.OperadorActual.Id;
            caja.SucursalModificacionId = Context.SucursalActual.Id;

            Uow.Cajas.Modificar(caja);

            var cajaMovimiento = new CajaMovimiento();

            cajaMovimiento.Id     = Guid.NewGuid();
            cajaMovimiento.CajaId = caja.Id;
            cajaMovimiento.TipoMovimientoCajaId = 1;       //Pago de sistema
            cajaMovimiento.TipoComprobante      = 3;       //Anulacion Pago de sistema
            cajaMovimiento.ComprobanteId        = pago.Id; //id del pago Celular
            cajaMovimiento.Senia = pago.Senia;
            if (pago.Senia > 0)
            {
                var choferMontoFavor = new ChoferMontoFavor();
                choferMontoFavor.Id                = Guid.NewGuid();
                choferMontoFavor.ChoferId          = pago.Chofer;
                choferMontoFavor.FechaAlta         = DateTime.Now;
                choferMontoFavor.FechaComprobante  = DateTime.Now;
                choferMontoFavor.TipoComprobanteId = 1;
                choferMontoFavor.Concepto          = "Monto a favor";
                choferMontoFavor.ImpOcupado        = 0;
                choferMontoFavor.SucursalAltaId    = Context.SucursalActual.Id;
                choferMontoFavor.OperadorAltaId    = Context.OperadorActual.Id;
                choferMontoFavor.Importe           = pago.Senia;

                Uow.ChoferesMontosFavor.Agregar(choferMontoFavor);
            }
            cajaMovimiento.Importe        = pago.Monto;
            cajaMovimiento.ImpFac         = (pago.Efectivo ?? 0) + (pago.Vales ?? 0);
            cajaMovimiento.Efectivo       = pago.Efectivo;
            cajaMovimiento.Vales          = pago.Vales;
            cajaMovimiento.FechaAlta      = _clock.Now;
            cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id;
            cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id;

            Uow.CajaMovimientos.Agregar(cajaMovimiento);


            Uow.Commit();


            var _pagonuevo = Uow.PagosCelulares.Listado().Where(p => p.CelularId == _pago.CelularId && p.Anulada != true).OrderByDescending(g => g.FechaAlta).FirstOrDefault();
            var celular    = Uow.Celulares.Obtener(c => c.Id == _pago.CelularId);

            if (_pagonuevo != null)
            {
                //modifico fecha de proximo pago en el celular

                celular.FechaVencimientoPago = _pagonuevo.Hasta;
                celular.FechaProximoPago     = (_pagonuevo.Hasta ?? DateTime.Now).AddDays(-2);
            }
            else
            {
                celular.FechaVencimientoPago = null;
                celular.FechaProximoPago     = null;
                celular.FechaUltimoPago      = null;
            }


            Uow.Celulares.Modificar(celular);
            Uow.Commit();

            MessageBox.Show("Pago eliminado correctamente");
            HistorialPagosChofer(_pago.ChoferId ?? Guid.Empty);

            //guardar comentario
            //ucComentarios.GenerarComentario(chofer.Id, "Pago del " + DesdeComent.ToString("dd/MM/yyyy") + " al " + HastaComent.ToString("dd/MM/yyyy") + ". Monto: $" + _pagoCelular.Monto);
            OnComentarioAdd("Pago anulado del " + _pago.Desde.ToString().Remove(10) + " hasta el " + _pago.Hasta.ToString().Remove(10));
        }