// public Int32 Id { get; set; } public void Agregar(DetalleCompra detalle) { Modelo.DetalleCompra detalle_find = Modelo.SingletonContexto.obtener_instancia().Contexto.DetalleCompraSet.ToList().Find(x => x.Requerimiento == detalle.Requerimiento); if (detalle != null) { Modelo.SingletonContexto.obtener_instancia().Contexto.DetalleCompraSet.Add(detalle); } }
public ActionResult add(CompraRequest request) { try { using (var transaccion = _context.Database.BeginTransaction()) { try { var compra = new Compras(); compra.Total = request.detalleRequests.Sum(item => item.Cantidad * item.PrecioUnitario); compra.Fecha = DateTime.Now; compra.IdEstado = request.IdEstado; _context.Compras.Add(compra); _context.SaveChanges(); foreach (var compradetalle in request.detalleRequests) { var producto = _context.Producto.FindAsync(compradetalle.IdProducto); if (producto.Result.IdProducto > 0) { var detalle = new Modelo.DetalleCompra(); detalle.Cantidad = compradetalle.Cantidad; detalle.IdProducto = compradetalle.IdProducto; detalle.CostoUnitario = producto.Result.Costo; detalle.PrecioUnitario = compradetalle.PrecioUnitario; detalle.IdCompra = compradetalle.IdCompra; Modelo.Producto product = new Modelo.Producto { Existencia = producto.Result.Existencia + detalle.Cantidad, }; // actualizarProducto(producto.Result.IdProducto, product); _context.DetalleCompra.Add(detalle); _context.SaveChanges(); } } transaccion.Commit(); } catch (Exception ex) { transaccion.Rollback(); } } } catch (Exception ex) { return(null); } return(Ok()); }
public bool ValidarFk(Int32 id_Req) { Modelo.DetalleCompra oArticulo = Modelo.SingletonContexto.obtener_instancia().Contexto.DetalleCompraSet.FirstOrDefault(u => (u.Requerimiento.Id_Req == id_Req)); if (oArticulo == null) { return(false); } else { return(true); } }
public bool ValidarFk(Int32 id_Req) { Modelo.DetalleCompra detalle = Modelo.SingletonContexto.obtener_instancia().Contexto.DetalleCompraSet.FirstOrDefault(u => (u.Orden_Compra.Id == id_Req)); if (detalle == null) { return(false); } else { return(true); } }
public Requerimientos(Modelo.DetalleCompra detalle) { InitializeComponent(); cReq = Controladora.Controladora_Req.obtener_instancia(); cArticulos = Controladora.controladora_Articulos.obtener_instancia(); /*foreach () * { * * }*/ ARMA_GRILLA(); }
private void Delete_Item_Click(object sender, EventArgs e) { if (dgvDetalleCompra.CurrentRow == null) { MessageBox.Show("Debe seleccionar un Rubro de la lista", "ATENCION!!"); return; } Modelo.DetalleCompra oDetalle = cDetalleCompra.OBTENER(Convert.ToInt32(dgvDetalleCompra.CurrentRow.Cells[0].Value)); DialogResult dr = MessageBox.Show("¿Confirma que desea anular el Proveedor " + oDetalle.Requerimiento.Articulo.Descripcion + "?", "ELIMINAR Proveedor", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == System.Windows.Forms.DialogResult.Yes) { cDetalleCompra.Eliminar(oDetalle); Filtrar(); } }
private void Add_Item_Click(object sender, EventArgs e) { Requerimientos Frm = new Requerimientos(); DialogResult dr = Frm.ShowDialog(); if (dr == DialogResult.OK) { oReq = Frm.ReqSelec; if (ACCION == "M") { if (oReq.Articulo.Rubro.Descripcion == oOrden.Proveedor.Rubro.Descripcion) { if (cReq.ValidarFk(oReq.Id_Req) == false) { Modelo.DetalleCompra detalle = new Modelo.DetalleCompra(); detalle.Requerimiento = oReq; detalle.Cantidad = oReq.Cantidad.ToString(); detalle.Orden_Compra = oOrden; Orden.Agregar(detalle); cDetalleCompra.Agregar(detalle); Filtrar(); } else { MessageBox.Show("El pedido ya se realizo"); } return; } else { MessageBox.Show("El pedido corresponde a otro rubro"); return; } } else { if (oReq.Articulo.Rubro.Descripcion == oProveedor.Rubro.Descripcion) { if (cReq.ValidarFk(oReq.Id_Req) == false) { Modelo.DetalleCompra detalle = new Modelo.DetalleCompra(); detalle.Requerimiento = oReq; detalle.Cantidad = oReq.Cantidad.ToString(); detalle.Orden_Compra = oOrden; Orden.Agregar(detalle); cDetalleCompra.Agregar(detalle); Filtrar(); } else { MessageBox.Show("El pedido ya se realizo"); } return; } else { MessageBox.Show("El pedido corresponde a otro rubro"); return; } } } Filtrar(); }