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")); }
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)); }
// 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(); } } } }
// 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)); }
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)); }
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")); }