Esempio n. 1
0
        public ActionResult DeleteConfirmed(int id)
        {
            detalle_compra detalle_compra = db.detalle_compra.Find(id);

            db.detalle_compra.Remove(detalle_compra);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
 public ActionResult Edit([Bind(Include = "iddetalle_compra,idcompra,idproducto,cantidad,monto")] detalle_compra detalle_compra)
 {
     if (ModelState.IsValid)
     {
         db.Entry(detalle_compra).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.idcompra   = new SelectList(db.compra, "idcompra", "idcompra", detalle_compra.idcompra);
     ViewBag.idproducto = new SelectList(db.producto, "idproducto", "codigo_barras", detalle_compra.idproducto);
     return(View(detalle_compra));
 }
Esempio n. 3
0
        // GET: compras/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            detalle_compra detalle_compra = db.detalle_compra.Find(id);

            if (detalle_compra == null)
            {
                return(HttpNotFound());
            }
            return(View(detalle_compra));
        }
        void GuardarDetalle()
        {
            if (autoProducto == null)
            {
                MessageBox.Show("Selecciona un producto");
            }
            else
            {
                if (txtCantidad.Text == "")
                {
                    MessageBox.Show("Ingresa la cantidad");
                }
                else
                {
                    if (txtPCompra.Text == "")
                    {
                        MessageBox.Show("Ingresa el costo unitario");
                    }
                    else
                    {
                        dynamic        prod = autoProducto.SelectedItem;
                        int            idp  = prod.id_producto;
                        Decimal        cos  = prod.costo;
                        detalle_compra dc   = new detalle_compra
                        {
                            compra_id   = idc,
                            producto_id = idp,
                            cantidad    = Int32.Parse(txtCantidad.Text),
                            subtotal    = Int32.Parse(txtCantidad.Text) * cos
                        };
                        BaseDatos.GetBaseDatos().detalle_compra.Add(dc);
                        BaseDatos.GetBaseDatos().SaveChanges();
                        tot           = Int32.Parse(txtCantidad.Text) * cos;
                        txtTotal.Text = tot.ToString();

                        var produ = BaseDatos.GetBaseDatos().productoes.Find(idp);
                        produ.existencias  = produ.existencias + Int32.Parse(txtCantidad.Text);
                        produ.preciocompra = Decimal.Parse(txtPCompra.Text);
                        BaseDatos.GetBaseDatos().SaveChanges();

                        autoProducto.SelectedItem = null;
                        autoProducto.SearchText   = String.Empty;
                        txtCantidad.Text          = String.Empty;
                        btnFinalizar.IsEnabled    = true;
                        vistaGrid();
                    }
                }
            }
        }
Esempio n. 5
0
        // GET: compras/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            detalle_compra detalle_compra = db.detalle_compra.Find(id);

            if (detalle_compra == null)
            {
                return(HttpNotFound());
            }
            ViewBag.idcompra   = new SelectList(db.compra, "idcompra", "idcompra", detalle_compra.idcompra);
            ViewBag.idproducto = new SelectList(db.producto, "idproducto", "codigo_barras", detalle_compra.idproducto);
            return(View(detalle_compra));
        }
Esempio n. 6
0
        public ActionResult Create(int id_proveedor, string numerofactura, DateTime fecha, decimal iva, decimal subtotal, decimal descuento, detalle_compra[] detalle)
        {
            //string result = "Error! No se pudo guardar!";
            string  result    = "LLego al controlador";
            var     UserLogin = (usuario)Session["User"];
            int     idUser    = Convert.ToInt32(UserLogin.id_usuario);
            decimal iva15     = Convert.ToDecimal(0.15);


            var SaveCompra = new compra
            {
                id_proveedor = id_proveedor,
                id_usuario   = idUser,
                fecha        = fecha,
                num_fact     = numerofactura,
                iva          = iva,
                subtotal     = subtotal,
                descuento    = descuento,
                Total        = (subtotal + iva) - descuento,
                id_estado    = 1,
            };

            try
            {
                db.compra.Add(SaveCompra);
                foreach (var d in detalle)
                {
                    var SaveDetail = new detalle_compra()
                    {
                        id_producto    = d.id_producto,
                        cantidad_cajas = d.cantidad_cajas,
                        precio_compra  = d.precio_compra,
                        undxcajas      = d.undxcajas,
                        total_und      = d.cantidad_cajas * d.undxcajas,
                        enexposicion   = d.enexposicion,
                        descuento      = d.descuento,
                        // iva = (d.precio_compra * d.cantidad_cajas) * (iva15),
                        id_lote = d.id_lote,
                        estado  = true,
                    };
                    //SaveDetail.id_compra = d.id_producto;
                    //SaveDetail.cantidad_cajas = d.cantidad_cajas;
                    //SaveDetail.precio_compra = d.precio_compra;
                    //SaveDetail.undxcajas = d.undxcajas;
                    //SaveDetail.total_und = d.total_und;
                    //SaveDetail.enexposicion = d.enexposicion;
                    //SaveDetail.descuento = d.descuento;
                    //SaveDetail.id_lote = d.id_lote;
                    //SaveDetail.estado = true;
                    if (iva != 0)
                    {
                        SaveDetail.iva = (d.precio_compra * d.cantidad_cajas) * (iva15);
                    }
                    else
                    {
                        SaveDetail.iva = 0;
                    }
                    db.detalle_compra.Add(SaveDetail);
                }

                //foreach (var d in detalle)
                //{
                //    var SaveDetailProduct = new detalle_producto
                //    {
                //        id_producto = d.id_producto,
                //        id_lote = d.id_lote,
                //        numero_caja = d.cantidad_cajas,
                //        undxcajas = d.undxcajas,
                //        enexposicion = d.enexposicion,
                //        estado = true,
                //        iva = (d.precio_compra * d.cantidad_cajas) * (iva15),
                //        precio_compra = d.precio_compra,
                //        stock = d.cantidad_cajas * d.undxcajas,
                //    };
                //    if (iva != 0)
                //    {
                //        SaveDetailProduct.iva = (d.precio_compra * d.cantidad_cajas) * (iva15);
                //    }
                //    else
                //    {
                //        SaveDetailProduct.iva = 0;
                //    }
                //        db.detalle_producto.Add(SaveDetailProduct);
                //}

                db.SaveChanges();
                result = "La compra se guardado correcatmente";
            }
            catch (Exception)
            {
                throw;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Esempio n. 7
0
        public ActionResult Anular(int?id)
        {
            if (id != null)
            {
                int comprobacion = 0;
                //seleccionamos los id del detalle de compra para darle de baja,posteriormente
                var shop = (from detalle in db.detalle_compra
                            where detalle.id_compra == id
                            select new
                {
                    id_detalle = detalle.id_detalle_compra
                }).ToArray();
                detalle_compra   dc = new detalle_compra();
                detalle_producto dp = new detalle_producto();
                int can_dc, can_dp;
                //solo para de baja a la compra pero no sirve de nada  porque por que al final lo elimino
                compra compra = db.compra.Where(x => x.id_compra == id).SingleOrDefault();
                compra.id_estado = 2;//doy de baja la compra
                foreach (var item in shop)
                {
                    dc     = db.detalle_compra.Where(x => x.id_compra == id && x.id_detalle_compra == item.id_detalle).SingleOrDefault();
                    dp     = db.detalle_producto.Where(x => x.id_compra == id && x.id_detalle_compra == item.id_detalle).SingleOrDefault();
                    can_dc = Convert.ToInt32(dc.total_und);
                    can_dp = Convert.ToInt32(dp.stock);
                    if (can_dc == can_dp)
                    {
                        //elimina la compra, pero si no son iguales entonnces quiere decir que ya se ha empezado a utilizar esa compra y no se puede eliminar por que causaria un conflito
                        var prod = new producto();
                        prod       = db.producto.Where(x => x.id_producto == dc.id_producto).SingleOrDefault(); ///seleciono el prod del detalle de compra
                        dp.estado  = false;                                                                     //pongo en falso el estado de detalle de producto
                        dc.estado  = false;                                                                     //pongo en falso el detalle de compra
                        prod.stock = prod.stock - can_dc;                                                       //resto la cantidad que se compro del stock que esta en producto

                        //db.Entry(dp).State = EntityState.Modified;
                        db.detalle_producto.Remove(dp);
                        db.detalle_compra.Remove(dc);
                        db.Entry(prod).State = EntityState.Modified;
                    }
                    else
                    {
                        comprobacion = 1;
                        break;
                    }
                }
                if (comprobacion == 0)
                {
                    db.compra.Remove(compra);
                    db.SaveChanges();
                    //guarda los cambios,,,     sino no guardes nada y manda un mensaje al usuario
                }
                else
                {
                    ViewBag.Error = "No se puedo anular la venta,por que ya se han empezado a vender";//aqui tendria que ir el viewbag para mandar el erro al usuario de que no se pudo anular esa compra
                }
            }
            else
            {
                ViewBag.Error = "No hay compra para anular";
                //no hay compra para eliminar
            }
            return(RedirectToAction("index"));
        }