コード例 #1
0
        private void CrearEditar()
        {
            var esValido = this.ValidarForm() && ValidarMontos();

            if (!esValido)
                this.DialogResult = DialogResult.None;
            else
            {
                var entity = ObtenerEntityDesdeForm();
                if (_formMode == ActionFormMode.Create)
                {
                    var cajaActual =
                       Uow.Cajas.Obtener(c => c.OperadorAltaId == Context.OperadorActual.Id && c.FCierre == null);

                    var ordenPago = new OrdenPago();
                    ordenPago.Id = Guid.NewGuid();
                    ordenPago.Fecha = entity.Fecha;
                    ordenPago.ProveedorId = entity.ProveedorId;
                    ordenPago.NumeroComprobante = entity.NumeroComprobante;
                    if (CajaAnterior == true)
                    {
                        //CAJA ANTERIOR
                        ordenPago.TipoComprobanteId = 5;
                    }
                    else
                    {
                        //CAJA ACTUAL
                        ordenPago.TipoComprobanteId = 4;
                        cajaActual.Egresos += Importe;
                        cajaActual.Efectivo -= Importe;
                        cajaActual.Saldo -= Importe;
                    }
                    ordenPago.FechaImputacion = _clock.Now;
                    ordenPago.SubTotal = Importe;
                    ordenPago.ImportePagado = Importe;
                    ordenPago.Concepto = entity.Concepto;
                    ordenPago.Importe = entity.Importe;
                    ordenPago.FechaAlta = _clock.Now;
                    ordenPago.OperadorAltaId = Context.OperadorActual.Id;
                    ordenPago.SucursalAltaId = Context.SucursalActual.Id;
                    ordenPago.SucursalId = Context.SucursalActual.Id;
                    ordenPago.SucursalGastoId = Context.SucursalActual.Id;

                    Uow.OrdenesPagos.Agregar(ordenPago);

                    //ORDEN DE PAGO DETALLE
                    var ordenPagoDetalle = new OrdenPagoDetalle();
                    ordenPagoDetalle.Id = Guid.NewGuid();
                    ordenPagoDetalle.OrdenPagoId = ordenPago.Id;
                    ordenPagoDetalle.FechaPago = _clock.Now;
                    ordenPagoDetalle.ImportePagado = Importe;
                    ordenPagoDetalle.Efectivo = Importe;
                    ordenPagoDetalle.SucursalAltaId = Context.SucursalActual.Id;
                    ordenPagoDetalle.FechaAlta = _clock.Now;
                    ordenPagoDetalle.OperadorAltaId = Context.OperadorActual.Id;

                    ordenPagoDetalle.CajaId = cajaActual.Id;
                    Uow.OrdenesPagosDetalles.Agregar(ordenPagoDetalle);

                    //CAJA MOVIMIENTO
                    var cajaMovimiento = new CajaMovimiento();
                    cajaMovimiento.Id = Guid.NewGuid();
                    cajaMovimiento.CajaId = cajaActual.Id;
                    cajaMovimiento.ComprobanteId = ordenPago.Id;
                    if (CajaAnterior == true)
                    {
                        cajaMovimiento.TipoMovimientoCajaId = 3;
                        cajaMovimiento.TipoComprobante = 5;

                        //Descuento en caja balance
                        var cajaBalance = Uow.CajaBalances.Obtener(c => c.SucursalAltaId == Context.SucursalActual.Id);
                        cajaBalance.Ingresos -= Importe;
                        Uow.CajaBalances.Modificar(cajaBalance);
                    }
                    else
                    {
                        cajaMovimiento.TipoMovimientoCajaId = 2;
                        cajaMovimiento.TipoComprobante = 4;
                    }
                    cajaMovimiento.Importe = Importe;
                    cajaMovimiento.ImpFac = Importe;
                    cajaMovimiento.Efectivo = Importe;
                    cajaMovimiento.PcAlta = System.Environment.MachineName;
                    cajaMovimiento.FechaAlta = _clock.Now;
                    cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id;
                    cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id;
                    Uow.CajaMovimientos.Agregar(cajaMovimiento);

                }

                Uow.Commit();

                if (_formMode == ActionFormMode.Create)
                {
                    OnEntityAgregada(entity);
                }
                this.Close();

            }
        }
コード例 #2
0
 private void OnEntityAgregada(OrdenPago entity)
 {
     if (EntityAgregada != null)
     {
         EntityAgregada(this, entity);
     }
 }
コード例 #3
0
        private void CargarEntidad(Guid ordenPagoId)
        {
            if (ordenPagoId == default(Guid))
            {
                _ordenPago = new OrdenPago();
                //_ordenPago.Id = Guid.NewGuid();
                return;
            }
            else
            {
                _ordenPago = Uow.OrdenesPagos.Obtener(o => o.Id == ordenPagoId);
                if (_ordenPago.Id != null)
                    NuevoPago = false;
            }

            this.Fecha = _ordenPago.Fecha;
            this.NumeroFactura = _ordenPago.NumeroComprobante;
            this.Concepto = _ordenPago.Concepto;
            this.Importe = _ordenPago.Importe;
            this.ProveedorId = _ordenPago.ProveedorId;
            if (ProveedorId == Guid.Empty)
            {
                BtnAgregarProveedor.Visible = true;
                DdlProveedores.Enabled = true;
            }
        }