private void Login() { if (_seguridadRepository.AuthenticateUser(txt_usuario_login.Text.Trim(), txt_contrasenia_login.Text)) { var user = _seguridadRepository.GetAll().First(c => string.Compare(txt_usuario_login.Text.Trim(), c.Nombre_Usuario) == 0); CurrentUser.GetCurrentInstance().SetRole(user); CurrentUser.GetCurrentInstance().SetUser(user); if (user.Caja_Fk != null) { string hostname = System.Environment.MachineName; var caja = _cajaRepository.BuscarCajaPorNombre(hostname); CurrentCaja.GetInstance().SetCaja(caja); //No se puede cambiar la referencia de la caja //CurrentCaja.GetInstance().Caja = new EE.Caja(); } Hide(); new FormularioPringles().ShowDialog(this); Dispose(); } else { MessageBox.Show(this, "Usuario y/o contrasena incorrectos"); } }
private DetalleOrden CrearArticulo() { return(new DetalleOrden { Libro_Fk = instanciaLibro.Id, Precio_Unitario = instanciaLibro.Monto_Unitario, Descuento = null, Cantidad = Convert.ToInt32(nud_cantidad_libro_venta.Value), Registro_Caja_Fk = CurrentCaja.GetInstance().Caja.Id, Libro = instanciaLibro, Detalle_Descuento_Fk = null }); }
public FormularioCaja() : base() { RevisarRol(); InitializeComponent(); _registroCajaRepository = new RegistroCajaRepository(); _cajaActual = CurrentCaja.GetInstance().Caja; _usuarioActual = CurrentUser.GetCurrentInstance().Usuario; if (_cajaActual == null || _usuarioActual == null) { MessageBox.Show("No se puede realizar esta operacion."); Dispose(); } }
private void FormularioVenta_Load(object sender, EventArgs e) { lbl_nombre_usuario.Text = CurrentUser.GetCurrentInstance().Usuario.NombreCompleto; int idCaja = CurrentCaja.GetInstance()?.Caja?.Id ?? 0; registroCaja = _registroCajaRepository.BuscarCajaVigente(idCaja); lbl_autor_mas_vendido.Text = _autorRepository.BuscarAutorMasVendido()?.ToString() ?? "Ninguno"; lbl_genero_mas_vendido.Text = _generoRepository.BuscarGeneroMasVendido()?.ToString() ?? "Ninguno"; if (registroCaja == null) { MessageBox.Show(this, "La caja se encuentra cerrada."); return; } RefrescarVenta(); RefrescarMensajeDescuento(); }
private void btn_alta_venta_Click(object sender, EventArgs e) { if ((!ValidarFormatoMonto(txt_monto_efectivo.Text) && !string.IsNullOrEmpty(txt_monto_efectivo.Text))) { MessageBox.Show("Formato no valido para efectivo"); return; } if ((!ValidarFormatoMonto(txt_monto_tarjeta.Text) && !string.IsNullOrEmpty(txt_monto_tarjeta.Text))) { MessageBox.Show("Formato no valido para tarjeta"); return; } if (registroCaja == null) { MessageBox.Show(this, "La caja se encuentra cerrada."); return; } if (_articulos.Count() == 0) { MessageBox.Show(this, "No hay articulos"); return; } if (_articulos.Any(a => a.Libro.Prohibido)) { MessageBox.Show(this, "Esta venta contiene libro prohibido"); return; } if (_articulos.Any(a => a.Libro.Restringido) && instanciaCliente == null) { MessageBox.Show(this, "Este libro esta restringido, debe de ser un cliente inscrito para poder comprarlo"); return; } decimal montoTotal = ObtenerMontoVenta() ?? 0; bool pagarTarjeta = ch_tarjeta_credito_forma_pago.Checked; bool pagarEfectivo = ch_efectivo_forma_pago.Checked; if (montoTotal <= 0) { MessageBox.Show("No hay venta a realizar"); return; } if (!(pagarEfectivo || pagarTarjeta)) { MessageBox.Show(this, "Debe elegir un metodo de pago"); return; } decimal montoTarjeta = 0, montoEfectivo = 0, devuelta = 0; if (pagarTarjeta) { if (!decimal.TryParse(txt_monto_tarjeta.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out montoTarjeta)) { MessageBox.Show(this, "Monto no valido"); return; } } if (pagarEfectivo) { if (!decimal.TryParse(txt_monto_efectivo.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out montoEfectivo)) { MessageBox.Show(this, "Monto no valido"); return; } } if (!ValidarMontosVenta(pagarEfectivo, pagarTarjeta, montoEfectivo, montoTarjeta)) { MessageBox.Show(this, "No se puede realizar la venta bajo estos montos, por favor actualizar"); return; } if (pagarEfectivo && !pagarTarjeta) { if (montoEfectivo > montoTotal) { devuelta = montoEfectivo - montoTotal; } } try { IVentaUnitOfWork uow = new VentaUnitOfWork(); Caja caja = CurrentCaja.GetInstance().Caja; Usuario usuario = CurrentUser.GetCurrentInstance().Usuario; Orden orden = new Orden { Caja_Fk = caja.Id, Caja = caja, Cambio_Dinero = devuelta, DetallesOrdenes = _articulos, Monto_Pago_Efectivo = montoEfectivo, Monto_Pago_Tarjeta = montoTarjeta, Pago_Efectivo = pagarEfectivo, Pago_Tarjeta = pagarTarjeta, Cliente = instanciaCliente, Cliente_Fk = instanciaCliente?.Id, Usuario = usuario, Usuario_Fk = usuario.Id }; uow.RealizarVenta(orden, _articulos, registroCaja); MessageBox.Show(this, "Venta realizada"); string factura = FabricarFacturaObjeto(orden); if (factura != null) { _facturas.GuardarFactura(orden.Id, factura); } if (devuelta > 0) { MessageBox.Show(this, $"Devuelta: {devuelta.ToString("0.00", CultureInfo.InvariantCulture)}"); } _articulos.Clear(); LimpiarCliente(); LimpiarLibro(); LimpiarMontos(); DesmarcarFormasPago(); RefrescarVenta(); RefrescarMensajeDescuento(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }