// 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);
            }
        }
Esempio n. 2
0
        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);
     }
 }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
0
        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();
        }