internal void CargarProducto(Modelo.Producto ProductoModel) { Id = ProductoModel.Id; Codigo = ProductoModel.Codigo; Descripcion = ProductoModel.Descripcion; if (ProductoModel.Categoria != null) { CategoriaSeleccionada = new KeyValuePair <Categoria, string>(ProductoModel.Categoria, ProductoModel.Categoria.Descripcion); } if (ProductoModel.Proveedores != null) { Modelo.Proveedor proveedor = ProductoModel.Proveedores.FirstOrDefault(); if (proveedor != null) { ProveedorSeleccionada = new KeyValuePair <Modelo.Proveedor, string>(proveedor, proveedor.RazonSocial); } } _Suelto = ProductoModel.Suelto; Costo = ProductoModel.Costo; Precio = ProductoModel.Precio; StockMinimo = ProductoModel.StockMinimo; StockOptimo = ProductoModel.StockOptimo; StockActual = ProductoModel.StockActual; NotifyPropertyChanged(nameof(Codigo)); }
public ProductoDetalleViewModel(Modelo.Producto producto) { Id = producto.Id; Codigo = producto.Codigo; Descripcion = producto.Descripcion; Proveedores = producto.Proveedores?.ToList(); Suelto = producto.Suelto; Costo = producto.Costo; Precio = producto.Precio; Habilitado = producto.Habilitado; StockMinimo = producto.StockMinimo; StockOptimo = producto.StockOptimo; StockActual = producto.StockActual; UsuarioActualizacion = producto.UsuarioActualizacion; FechaActualizacion = producto.FechaActualizacion; StockMinimoAuxiliar = StockMinimo; StockOptimoAuxiliar = StockOptimo; StockActualAuxiliar = StockActual; PrecioAuxiliar = Precio; if (producto.Categoria != null) { CategoriaSeleccionada = new KeyValuePair <Categoria, string>(producto.Categoria, producto.Categoria.Descripcion); } }
public EtiquetaGondola(Modelo.Producto producto) { Texto nombre = new Texto(producto.Descripcion, StringAlignment.Center); AgregarLinea(Cabecera2, nombre); Texto precio = new Texto(producto.Precio.ToString("c2"), StringAlignment.Center); AgregarLinea(Cabecera1, precio); AgregarLineaBlanco(cuerpo1); if (!producto.Suelto && long.TryParse(producto.Codigo, out _)) { try { Barcode barcode = new Barcode(); barcode.IncludeLabel = true; Image img = ObtenerImagenCodigoBarras(producto.Codigo, barcode); AgregarImagen(img); } catch { throw new NegocioException("Error al generar el código de barras. Verifique que el código del producto este correcto."); } } }
internal void ImprimirEtiqueta() { Modelo.Producto producto = new Modelo.Producto(Id, Codigo, Descripcion, CategoriaSeleccionada.Key, Proveedores, Suelto, Costo, Precio, Habilitado, StockMinimo, StockOptimo, StockActual, Sesion.Usuario.Alias); EtiquetaGondola etiquetaGondola = new EtiquetaGondola(producto); Impresora impresora = new Impresora(Settings.Default.ImpresoraNombre, etiquetaGondola); impresora.Imprimir(); }
private void pictureBox1_Paint(object sender, PaintEventArgs e) { Ejecutar(() => { Modelo.Producto producto = new Modelo.Producto(productoDetalleViewModel.Id, productoDetalleViewModel.Codigo, productoDetalleViewModel.Descripcion, productoDetalleViewModel.CategoriaSeleccionada.Key, productoDetalleViewModel.Proveedores, productoDetalleViewModel.Suelto, productoDetalleViewModel.Costo, productoDetalleViewModel.Precio, productoDetalleViewModel.Habilitado, productoDetalleViewModel.StockMinimo, productoDetalleViewModel.StockOptimo, productoDetalleViewModel.StockActual, null); EtiquetaGondola etiquetaGondola = new EtiquetaGondola(producto); etiquetaGondola.Imprimir(e.ClipRectangle, e.Graphics); }); }
internal async Task Guardar(Modelo.Producto producto) { if (producto.Categoria != null) { _context.Entry(producto.Categoria).State = EntityState.Unchanged; } if (producto.Proveedores != null) { producto.Proveedores.ToList().ForEach(x => _context.Entry(x).State = EntityState.Modified); } if (producto.Id == 0) { var a = await Obtener(producto.Codigo); if (await Obtener(producto.Codigo) != null) { throw new NegocioException($"Ya existe un producto con código {producto.Codigo}."); } _context.Producto.Add(producto); } else { var ProductoDB = _context.Producto .Include(x => x.Proveedores) .Include(x => x.Categoria) .FirstOrDefault(x => x.Id == producto.Id); _context.Entry(ProductoDB).CurrentValues.SetValues(producto); if (producto.Proveedores != null) { ProductoDB.Proveedores.ToList().ForEach(ProveedoresDB => { Proveedor proveedorLocal = producto.Proveedores.FirstOrDefault(x => x.Id == ProveedoresDB.Id); if (proveedorLocal == null) { ProductoDB.Proveedores.Remove(ProveedoresDB); } }); producto.Proveedores.ToList().ForEach(Proveedores => { Proveedor mercaderiaItemLocal = ProductoDB.Proveedores.FirstOrDefault(x => x.Id == Proveedores.Id); if (mercaderiaItemLocal == null) { ProductoDB.Proveedores.Add(Proveedores); } }); } } await _context.SaveChangesAsync(); }
internal async Task GuardarAsync() { List <Modelo.Proveedor> proveedores = ProveedorSeleccionada.Key != null ? new List <Modelo.Proveedor> { ProveedorSeleccionada.Key } : null; Modelo.Producto productoModel = new Modelo.Producto(Id, Codigo, Descripcion, CategoriaSeleccionada.Key, proveedores, Suelto, Costo, Precio, true, StockMinimo, StockOptimo, StockActual, Sesion.Usuario.Alias); await ProductoService.Guardar(productoModel); ActualizarGrillaProdcutos(new ProductoIngresoMasivoItem(productoModel)); }
internal async Task ModificarAsync(MercaderiaDetalleItem mercaderiaDetalleItem) { Modelo.Producto producto = await ProductoService.ObtenerReducido(mercaderiaDetalleItem.Codigo); ProductoDetalleForm ProductoDetalleForm = new ProductoDetalleForm(producto); ProductoDetalleForm.ShowDialog(); mercaderiaDetalleItem.MercaderiaItem.ModificarProducto(await ProductoService.Obtener(mercaderiaDetalleItem.Codigo)); NotifyPropertyChanged(nameof(Mercaderias)); }
internal async Task <int> Ingresar(Modelo.Mercaderia mercaderia) { Modelo.Mercaderia mercaderaDB = _context.Mercaderia .FirstOrDefault(x => x.Id == mercaderia.Id); mercaderia.MercaderiaItems.ToList().ForEach(x => { Modelo.Producto producto = _context.Producto.FirstOrDefault(y => y.Id == x.Producto.Id); producto.AgregarStock(x.Cantidad); }); return(await _context.SaveChangesAsync()); }
private void dgProductos_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { EjecutarAsync(async() => { if (e.RowIndex < 0) { return; } Modelo.Producto producto = (Modelo.Producto)dgProductos.CurrentRow.DataBoundItem; await productoListadoViewModel.ModificarAsync(producto); }); }
public static Task Guardar(Modelo.Producto producto) { ProductoValidador validador = new ProductoValidador(); ValidationResult validadorResultado = validador.Validate(producto); if (!validadorResultado.IsValid) { throw new NegocioException(string.Join(Environment.NewLine, validadorResultado.Errors.Select(x => x.ErrorMessage))); } ProductoRepository productoRepository = new ProductoRepository(new Context()); return(productoRepository.Guardar(producto)); }
private void dgProductos_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (dgProductos[0, e.RowIndex].Value == null) { return; } Modelo.Producto producto = (Modelo.Producto)dgProductos.Rows[e.RowIndex].DataBoundItem; if (producto.EnFalta()) { dgProductos.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Coral; } else { dgProductos.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White; } }
public EtiquetaGondola(Modelo.Producto producto) { Texto nombre = new Texto(producto.Descripcion, StringAlignment.Center); AgregarLinea(Cabecera2, nombre); Texto precio = new Texto(producto.Precio.ToString("c2"), StringAlignment.Center); AgregarLinea(Cabecera1, precio); AgregarLineaBlanco(cuerpo1); if (!producto.Suelto) { Barcode b = new Barcode(); Image img = b.Encode(TYPE.EAN13, producto.Codigo, Color.Black, Color.White, 217, 35); AgregarImagen(img); Texto codigo = new Texto(producto.Codigo, StringAlignment.Center); AgregarLinea(cuerpo1, codigo); } }
internal async Task AgregarProductoAsync() { if (string.IsNullOrWhiteSpace(Codigo)) { throw new NegocioException(Resources.productoNoExiste); } Modelo.Producto producto = await ProductoService.ObtenerReducido(Codigo); if (producto == null) { throw new NegocioException(Resources.productoNoExiste); } int cantidad = Cantidad > 0 ? Cantidad : 1; mercaderiaModel.AgregarProducto(producto, cantidad); Cantidad = 1; Codigo = string.Empty; NotifyPropertyChanged(nameof(Mercaderias)); }
private void dgProductos_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { EjecutarAsync(async() => { if (e.RowIndex < 0) { return; } Modelo.Producto producto = (Modelo.Producto)dgProductos.CurrentRow.DataBoundItem; if (dgProductos.Columns[e.ColumnIndex].Name == "Editar") { await productoListadoViewModel.ModificarAsync(producto); } if (dgProductos.Columns[e.ColumnIndex].Name == "Eliminar") { if (DialogResult.Yes == CustomMessageBox.ShowDialog(Resources.eliminarElemento, this.Text, MessageBoxButtons.YesNo, CustomMessageBoxIcon.Info)) { await productoListadoViewModel.BorrarAsync(producto); } } }); }
public ProductoDetalleForm(Modelo.Producto producto) : this() { productoDetalleViewModel = new ProductoDetalleViewModel(producto); }
internal async Task GuardarAsync() { Modelo.Producto producto = new Modelo.Producto(Id, Codigo, Descripcion, CategoriaSeleccionada.Key, Proveedores, Suelto, Costo, Precio, Habilitado, StockMinimo, StockOptimo, StockActual, Sesion.Usuario.Alias); await ProductoService.Guardar(producto); }