private void BtnGuardar_Click(object sender, EventArgs e) { var esValido = this.ValidarForm(); if (!esValido) { this.DialogResult = DialogResult.None; } else { LoteFactura lote = ObtenerLoteDesdeForm(); if (_formMode == ActionFormMode.Create) { if (ValidarNumeroLote() == false) { _messageBoxDisplayService.ShowWarning("Lote No válido"); this.DialogResult = DialogResult.None; return; } _loteFactura.NroActual -= 1; Uow.LotesFacturas.Agregar(lote); } else { Uow.LotesFacturas.Modificar(lote); } Uow.Commit(); } }
private void BtnGuardar_Click(object sender, EventArgs e) { if (!Validar()) { _messageBoxDisplayService.ShowWarning("Se debe completar algùn campo con el monto a pagar."); } else { var pago = ObtenerPagoDesdeForm(); if (_formMode == ActionFormMode.Create) { Uow.OrdenesPagosDetalle.Agregar(pago); if (pago.FechaPago == DateTime.Today && _esEfectivo) { var orden = Uow.OrdenesPagos.Obtener(o => o.Id == _ordenPagoId); orden.ImportePagado += pago.ImportePagado; Uow.OrdenesPagos.Modificar(orden); AgregarMovimientos(); } } else { Uow.OrdenesPagosDetalle.Modificar(pago); } Uow.Commit(); BtnCancelar.DialogResult = DialogResult.OK; } }
private void GrillaLotes_CommandCellClick(object sender, EventArgs e) { var commandCell = (GridCommandCellElement)sender; var selectedRow = this.GrillaLotes.SelectedRows.FirstOrDefault(); if (selectedRow == null) { return; } var lote = selectedRow.DataBoundItem as LoteFactura; if (lote == null) { return; } switch (commandCell.ColumnInfo.Name) { case "Editar": if (lote.Estado == EstadoLoteEnum.Activo) { Editar(lote.NroLote); } else { _messageBoxDisplayService.ShowWarning("No puede editar un lote cerrado o inactivo"); } break; } }
private bool ValidarCantidad() { if (_formMode != ActionFormMode.Edit) { int sumaStock = Convert.ToInt16(TxtPropio.Text) + Convert.ToInt16(TxtConsignado.Text); int cantidad; if (TxtCantidad.Text != "") { cantidad = Convert.ToInt16(TxtCantidad.Text); } else { cantidad = 0; } if (cantidad == 0) { _messageBoxDisplayService.ShowWarning( "La cantidad seleccionada no puede ser 0 (cero)."); return(false); } if (cantidad <= sumaStock) { return(true); } else { _messageBoxDisplayService.ShowWarning( Resources.WarningMessageCantidadSeleccionadaSuperaStockDisponible); TxtCantidad.Text = sumaStock.ToString(); return(false); } } else { return(true); } }
private void UcBuscadorConsignacionOnBuscarFinished(object sender, List <RemitosVenta> remitos) { if (remitos.Any()) { if (remitos.Count == 1) { Guid id = remitos[0].Id; var remitoVenta = _remitoNegocio.GetById(id, Context.SucursalActual.Id).ToList(); GridConsignaciones.DataSource = remitoVenta; } } else { _messageBoxDisplayService.ShowWarning(Resources.ErrorBuscarConsignacionVacio); } }
private void UcBuscadorConsignacionOnBuscarFinished(object sender, List <RemitosVenta> remitos) { if (remitos.Any()) { if (remitos.Count == 1) { ActualizarCliente(remitos[0].ClienteConsignado); LblFechaConsignacion.Text = "Fecha de Consignación: " + remitos[0].FechaAlta.ToString(); } UcTitulosConsignacionVenta.Titulos = _remitoDetalleNegocio.ListadoByRemitoVentaId(remitos[0].Id.ToString()); UcTitulosConsignacionVenta.RefrescarTitulos(); } else { _messageBoxDisplayService.ShowWarning(Resources.ErrorBuscarConsignacionVacio); } }
private void UcBuscadorPresupuestoOnBuscarPresupuestoFinished(object sender, List <Presupuestos> presupuestos) { if (presupuestos.Any()) { if (presupuestos.Count == 1) { Guid id = presupuestos[0].ClienteId ?? Guid.Empty; var cliente = Uow.Clientes.Obtener(c => c.Id == id, c => c.Localidad, c => c.Provincia); ActualizarCliente(cliente); LblFechaPresupuesto.Text = "Fecha de Presupuesto: " + presupuestos[0].FechaAlta.ToString(); } ucTitulosPresupuesto.Titulos = _presupuestoDetalleNegocio.ListadoByPresupuestoId(presupuestos[0].Id.ToString()); ucTitulosPresupuesto.RefrescarTitulos(); } else { _messageBoxDisplayService.ShowWarning(Resources.ErrorBuscarConsignacionVacio); } }
private bool ValidateControls() { this.FormErrorProvider.Dispose(); var result = true; if (!ucDepositSelection.ValidateControl()) { this.FormErrorProvider.SetError(ucDepositSelection, "El campo depósito es requerido"); result = false; } if (Guid.Parse(ddlProducts.SelectedValue.ToString()) == Guid.Empty) { this.FormErrorProvider.SetError(ddlProducts, "El campo producto es requerido"); result = false; } if (ckdProvider.IsChecked && Guid.Parse(ddlProviders.SelectedValue.ToString()) == Guid.Empty) { this.FormErrorProvider.SetError(ddlProviders, "El campo proveedor es requerido"); result = false; } if (Guid.Parse(ddlShifts.SelectedValue.ToString()) == Guid.Empty) { this.FormErrorProvider.SetError(ddlShifts, "El campo turno es requerido"); result = false; } if (!ucEggsAmount.IsValid()) { _messageBoxDisplayService.ShowWarning("La cantidad de huevos no puede ser 0."); result = false; } return(result); }
private void BtnGuardar_Click(object sender, EventArgs e) { if (_venta.EstadoVentaId == EstadoVentaEnum.Anulada) { _messageBoxDisplayService.ShowWarning("Factura ya anulada"); return; } var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } if (!this.EsOperadorAdmin) { //Guardamos el operador que autorizo la operacion. _venta.OperadorAutoriza = operador.Id; } //Anular la Venta _venta.EstadoVentaId = EstadoVentaEnum.Anulada; _venta.FechaModificacion = _clock.Now; _venta.OperadorModificacionId = Context.OperadorActual.Id; _venta.SucursalModificacionId = Context.SucursalActual.Id; Uow.Ventas.Modificar(_venta); //devolver el stock foreach (VentaDetalleDto ventaDetalleDto in _ventaDetalleDto) { var tituloStock = Uow.TitulosStock.Obtener( ts => ts.TituloId == ventaDetalleDto.TituloId && ts.SucursalId == Context.SucursalActual.Id); tituloStock.StkPr += ventaDetalleDto.CantidadPropia; tituloStock.StkCn += ventaDetalleDto.CantidadConsig; tituloStock.FechaModificacion = _clock.Now; tituloStock.OperadorModificacionId = Context.OperadorActual.Id; tituloStock.SucursalModificacionId = Context.SucursalActual.Id; Uow.TitulosStock.Modificar(tituloStock); } //Devovler caja Caja caja = this.Context.CajaActual; if (caja.Ingresos == null) { caja.Ingresos = 0; } caja.Ingresos -= (float?)_venta.TotalPagado; if (caja.Saldo == null) { caja.Saldo = 0; } caja.Saldo -= (float?)_venta.TotalPagado; caja.FechaModificacion = _clock.Now; caja.SucursalModificacionId = Context.SucursalActual.Id; //Sucursal del operador caja.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador Uow.Cajas.Modificar(caja); //CajaMovimiento var cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(c => c.ComprobanteId == _venta.Id); CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; if (_venta.CondicionVentaId == CondicionVentaEnum.CuentaCorriente) { cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónFacCtaCte; } else { cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónFacContado; } cajaMovimiento.TipoComprobante = TipoComprobanteEnum.FacturaAnulada; cajaMovimiento.ComprobanteId = _venta.Id; cajaMovimiento.Senia = cajaMovimientoAnterior.Senia; cajaMovimiento.Importe = cajaMovimientoAnterior.Importe; cajaMovimiento.ImpFac = cajaMovimientoAnterior.ImpFac; cajaMovimiento.Recargo = cajaMovimientoAnterior.Recargo; cajaMovimiento.Efectivo = cajaMovimientoAnterior.Efectivo; cajaMovimiento.Tarjeta = cajaMovimientoAnterior.Tarjeta; cajaMovimiento.Cheque = cajaMovimientoAnterior.Cheque; cajaMovimiento.Deposito = cajaMovimientoAnterior.Deposito; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = _venta.SucursalAltaId; cajaMovimiento.OperadorAltaId = _venta.OperadorAltaId; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; //Sucursal del operador cajaMovimiento.OperadorModificacionId = (Context.OperadorActual.Id); //Id el operador cajaMovimiento.FechaModificacion = _clock.Now; Uow.CajaMovimientos.Agregar(cajaMovimiento); //MovimientoCliente ClientesMovimiento clientesMovimiento = new ClientesMovimiento(); clientesMovimiento.IdCliente = _venta.ClienteId; clientesMovimiento.IdTipoComprobante = (int)TipoComprobanteEnum.FacturaAnulada; clientesMovimiento.IdComprobante = _venta.Id; clientesMovimiento.Concepto = TipoComprobanteEnum.FacturaAnulada.ToString(); clientesMovimiento.Debe = _venta.TotalPagado; clientesMovimiento.FechaGeneracion = _clock.Now; clientesMovimiento.FechaAlta = _clock.Now; clientesMovimiento.SucursalAltaId = Context.SucursalActual.Id; //Sucursal del operador clientesMovimiento.OperadorAltaId = (Context.OperadorActual.Id); //Id el operador Uow.ClientesMovimientos.Agregar(clientesMovimiento); //Actulizar señas de cliente var monto = cajaMovimientoAnterior.Senia; if (monto > 0 && monto != null) { int sucursal = 1; ClienteMontoFavor clienteMontoFavor = new ClienteMontoFavor(); clienteMontoFavor.Id = Guid.NewGuid(); clienteMontoFavor.ClienteId = _venta.ClienteId; clienteMontoFavor.FechaComprobante = _clock.Now; clienteMontoFavor.TipoComprobanteId = TipoComprobanteEnum.SeñaCliente; clienteMontoFavor.LCN = "R" + sucursal.ToString().PadLeft(4, '0') + CalcularLCN().PadLeft(8, '0'); clienteMontoFavor.Concepto = "Seña " + clienteMontoFavor.LCN; clienteMontoFavor.Importe = monto; clienteMontoFavor.ImpOcupado = 0; clienteMontoFavor.Observaciones = TipoComprobanteEnum.SeñaCliente.ToString() + "Por anulación de factura"; clienteMontoFavor.FechaAlta = _clock.Now; clienteMontoFavor.OperadorAltaId = Context.OperadorActual.Id; clienteMontoFavor.SucursalAltaId = Context.SucursalActual.Id; Uow.ClientesMontosFavor.Agregar(clienteMontoFavor); } //si la venta fue en CuentaCorriente, Anular las cuotas if (_venta.CondicionVentaId == CondicionVentaEnum.CuentaCorriente) { var cuotas = Uow.ClientesCuentasCorrientes.Listado().Where(cc => cc.VentaId == _venta.Id); foreach (ClienteCuentaCorriente cuota in cuotas) { cuota.Pagado = cuota.Importe; cuota.Observaciones = "Venta Anulada"; cuota.FechaModificacion = _clock.Now; cuota.OperadorModificacionId = Context.OperadorActual.Id; cuota.SucursalModificacionId = Context.SucursalActual.Id; Uow.ClientesCuentasCorrientes.Modificar(cuota); } } //Si la venta fue con tarjeta, setear en 0 el estado del movimiento if (cajaMovimientoAnterior.Tarjeta != null) { var tarjetamovimiento = Uow.TarjetasMovimientos.Obtener(t => t.CajaMovimientoId == cajaMovimientoAnterior.Id); if (tarjetamovimiento != null) { tarjetamovimiento.Estado = 0; tarjetamovimiento.FechaModificacion = _clock.Now; tarjetamovimiento.OperadorModificacionId = Context.OperadorActual.Id; tarjetamovimiento.SucursalModificacionId = Context.SucursalActual.Id; Uow.TarjetasMovimientos.Modificar(tarjetamovimiento); } } //si la venta fue con deposito, setear la columna debito=credito para que se anule if (cajaMovimientoAnterior.Deposito != null) { var cuentaMovimiento = Uow.CuentasMovimientos.Obtener(t => t.ComprobanteId == _venta.Id); if (cuentaMovimiento != null) { cuentaMovimiento.Debito = cuentaMovimiento.Credito; cuentaMovimiento.FechaModificacion = _clock.Now; cuentaMovimiento.OperadorModificacionId = Context.OperadorActual.Id; cuentaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; Uow.CuentasMovimientos.Modificar(cuentaMovimiento); } } //si la venta fue con Cheque, setear estadocheque=1 if (cajaMovimientoAnterior.Cheque != null) { var chequeTercero = Uow.ChequesTercero.Obtener(t => t.CajaMovimientoId == cajaMovimientoAnterior.Id); if (chequeTercero != null) { chequeTercero.EstadoChequeId = 1; chequeTercero.FechaModificacion = _clock.Now; chequeTercero.OperadorModificacionId = Context.OperadorActual.Id; chequeTercero.SucursalModificacionId = Context.SucursalActual.Id; Uow.ChequesTercero.Modificar(chequeTercero); } } Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Factura anulada correctamente"); //this.Close(); OnAccionTerminada(); }
private void Anular(ClienteMontoFavor senia) { //Utiliar toda la seña //if (senia.TipoComprobanteId == TipoComprobanteEnum.SeñaCliente) //{ var operador = this.ObtenerOperadorAdministrador(); if (operador == null) { return; } if (!this.EsOperadorAdmin) { //Guardamos el operador que autorizo la operacion. senia.OperadorAutoriza = operador.Id; } var diferencia = senia.Importe - senia.ImpOcupado; if (diferencia == 0) { return; } Uow.ClientesMontosFavor.Modificar(senia); var cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(cm => cm.ComprobanteId == senia.Id); if (cajaMovimientoAnterior == null) { //notas de credito no generan caja movimiento? } if ((cajaMovimientoAnterior.Tarjeta != null || cajaMovimientoAnterior.Tarjeta == 0) || (cajaMovimientoAnterior.Cheque != null || cajaMovimientoAnterior.Cheque == 0) || (cajaMovimientoAnterior.Deposito != null || cajaMovimientoAnterior.Deposito == 0)) { decimal?devolucion = 0; if (diferencia > ((cajaMovimientoAnterior.Tarjeta ?? 0) + (cajaMovimientoAnterior.Cheque ?? 0) + (cajaMovimientoAnterior.Deposito ?? 0) + (cajaMovimientoAnterior.Transferencia ?? 0))) { devolucion = diferencia - ((cajaMovimientoAnterior.Tarjeta ?? 0) + (cajaMovimientoAnterior.Cheque ?? 0) + (cajaMovimientoAnterior.Deposito ?? 0) + (cajaMovimientoAnterior.Transferencia ?? 0)); //Actualizacion seña using (var crearComprobante = FormFactory.Create <FrmComprobante>()) { _messageBoxDisplayService.ShowWarning("Solo se puede devolver un monto en efectivo de: $" + devolucion.Value.ToString("N2")); crearComprobante._concepto = "Actualizacion de seña"; crearComprobante._LCN = senia.LCN; var conv = new Conversion(); crearComprobante._montoTexto = conv.enletras((diferencia - devolucion).ToString()); crearComprobante._montoActualizado = (diferencia - devolucion); var formapago = ""; if (cajaMovimientoAnterior.Tarjeta > 0) { formapago += "Tarjeta "; } if (cajaMovimientoAnterior.Cheque > 0) { formapago += "Cheque "; } if (cajaMovimientoAnterior.Deposito > 0) { formapago += "Deposito "; } if (cajaMovimientoAnterior.Transferencia > 0) { formapago += "Transferencia "; } crearComprobante._formaPago = formapago + (diferencia - devolucion).ToString(); crearComprobante.ShowDialog(); } diferencia = devolucion; } else { _messageBoxDisplayService.ShowError("No se puede anular una seña que no fue generada en efectivo"); return; //devolucion = diferencia; //anular seña } } senia.ImpOcupado += diferencia; //senia.Importe; if (senia.ImpOcupado == senia.Importe) { senia.FechaAnulacion = _clock.Now; } senia.FechaModificacion = _clock.Now; senia.OperadorModificacionId = Context.OperadorActual.Id; senia.SucursalModificacionId = Context.SucursalActual.Id; //generar cajamovimientno Caja caja = this.Context.CajaActual; if (caja.Ingresos == null) { caja.Ingresos = 0; } caja.Egresos += (float?)diferencia; if (caja.Saldo == null) { caja.Saldo = 0; } caja.Saldo -= (float?)diferencia; caja.FechaModificacion = _clock.Now; caja.SucursalModificacionId = Context.SucursalActual.Id; caja.OperadorModificacionId = (Context.OperadorActual.Id); Uow.Cajas.Modificar(caja); if (senia.TipoComprobanteId == TipoComprobanteEnum.SeñaCliente) { //var cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(cm => cm.ComprobanteId == senia.Id); //cajaMovimientoAnterior = Uow.CajaMovimientos.Obtener(cm => cm.ComprobanteId == senia.Id); CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónSeña; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.SeñaCliente; cajaMovimiento.ComprobanteId = senia.Id; cajaMovimiento.Senia = 0; cajaMovimiento.Importe = diferencia; // cajaMovimiento.Efectivo = cajaMovimientoAnterior.Efectivo; cajaMovimiento.Efectivo = diferencia; //cajaMovimiento.Tarjeta = cajaMovimientoAnterior.Tarjeta; //cajaMovimiento.Cheque = cajaMovimientoAnterior.Cheque; //cajaMovimiento.Deposito = cajaMovimientoAnterior.Deposito; cajaMovimiento.ImpFac = 0; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; //cajaMovimientoAnterior.SucursalAltaId; cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id; //cajaMovimientoAnterior.OperadorAltaId; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; cajaMovimiento.OperadorModificacionId = (Context.OperadorActual.Id); cajaMovimiento.FechaModificacion = _clock.Now; Uow.CajaMovimientos.Agregar(cajaMovimiento); } else if (senia.TipoComprobanteId == TipoComprobanteEnum.NotaCrédito) { CajaMovimiento cajaMovimiento = new CajaMovimiento(); cajaMovimiento.Id = Guid.NewGuid(); cajaMovimiento.CajaId = caja.Id; cajaMovimiento.TipoMovimientoCajaId = TipoMovimientoCajaEnum.AnulaciónSeña; cajaMovimiento.TipoComprobante = TipoComprobanteEnum.NotaCrédito; cajaMovimiento.ComprobanteId = senia.Id; cajaMovimiento.Senia = 0; cajaMovimiento.Importe = diferencia; cajaMovimiento.Efectivo = diferencia; //cajaMovimiento.Tarjeta = cajaMovimientoAnterior.Tarjeta; //cajaMovimiento.Cheque = cajaMovimientoAnterior.Cheque; //cajaMovimiento.Deposito = cajaMovimientoAnterior.Deposito; cajaMovimiento.ImpFac = 0; cajaMovimiento.PcAlta = Environment.MachineName; cajaMovimiento.SucursalAltaId = Context.SucursalActual.Id; //cajaMovimientoAnterior.SucursalAltaId; cajaMovimiento.OperadorAltaId = Context.OperadorActual.Id; //cajaMovimientoAnterior.OperadorAltaId; cajaMovimiento.FechaAlta = _clock.Now; cajaMovimiento.SucursalModificacionId = Context.SucursalActual.Id; cajaMovimiento.OperadorModificacionId = (Context.OperadorActual.Id); cajaMovimiento.FechaModificacion = _clock.Now; Uow.CajaMovimientos.Agregar(cajaMovimiento); } //Generaregreso?? Uow.Commit(); _messageBoxDisplayService.ShowSuccess("Anulación de seña exitosa"); RefrescarUow(); RefrescarHistorial(); }