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(); } }
private void OnEntityAgregada(OrdenPago entity) { if (EntityAgregada != null) { EntityAgregada(this, entity); } }
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; } }