public ActionResult CreateDetail(FormCollection collection, int id, string nombre) { ViewBag.NombreReceta = nombre; ViewBag.cabecera_recetaId = id; ViewBag.articuloId = new SelectList(db.articulo, "Id", "nombre"); try { if (Convert.ToInt32(collection.Get("cantidad")) < 0) { ViewBag.Error = "Valor no puede ser negativo"; return(View()); } // TODO: Add insert logic here detalle_receta dr = new detalle_receta(); dr.articuloId = Convert.ToInt32(collection.Get("articuloId")); dr.cantidad = Convert.ToDecimal(collection.Get("cantidad")); dr.cabecera_recetaId = id; db.detalle_receta.Add(dr); db.SaveChanges(); return(RedirectToAction("IndexDetail", new { id = id, nombre = nombre })); } catch (Exception exp) { ViewBag.Error = exp.Message; return(View()); } }
public ActionResult EditDetail(FormCollection collection, int id, int id_cabecera, string nombre) { ViewBag.NombreReceta = nombre; ViewBag.cabecera_recetaId = id_cabecera; ViewBag.articuloId = new SelectList(db.articulo, "Id", "nombre"); try { // TODO: Add update logic here detalle_receta Row = new detalle_receta(); if (Convert.ToInt32(collection.Get("cantidad")) < 0) { ViewBag.Error = "Valor no puede ser menor a cero"; return(View(Row)); } Row = db.detalle_receta.Find(id); Row.articuloId = Convert.ToInt32(collection.Get("articuloId")); Row.cantidad = Convert.ToDecimal(collection.Get("cantidad")); db.SaveChanges(); return(RedirectToAction("IndexDetail", new { id = id_cabecera, nombre = nombre })); } catch (Exception exp) { ViewBag.Error = exp.Message; costo Row = Row = db.costo.Find(new object[] { id_cabecera, Convert.ToDateTime(collection.Get("fecha")) }); return(View(Row)); } }
public void MultipleDetalleReceta() { // insertar int drct_originales = db.detalle_receta.Count(); detalle_receta drct = new detalle_receta(); decimal cantidad_detalle_receta = 18; int cabecera_receta_id = 1; int id_articulo = 1; drct.cantidad = cantidad_detalle_receta; drct.articuloId = id_articulo; drct.cabecera_recetaId = cabecera_receta_id; db.detalle_receta.Add(drct); db.SaveChanges(); //prueba que se ingrese int drct_cambiadas = db.detalle_receta.Count(); Assert.AreEqual(drct_originales + 1, drct_cambiadas); detalle_receta drct2 = new detalle_receta(); int detalle_agregado = db.detalle_receta.OrderByDescending(x => x.Id).First().Id; drct2 = db.detalle_receta.Find(Convert.ToInt16(detalle_agregado)); //Prueba de buscar Assert.AreEqual(drct2.articuloId, id_articulo); db.detalle_receta.Remove(drct2); db.SaveChanges(); int drct_cambiadas_eliminacion = db.detalle_receta.Count(); //Prueba si se eliminó Assert.AreEqual(drct_cambiadas - 1, drct_cambiadas_eliminacion); }
public ActionResult EliminarInsumo(int productoId, int recetaId) // Captura de datos { try { int recId = recetaId; int proId = productoId; int cantidadD = 0; var dr = new detalle_receta { productoId = productoId, recetaId = recetaId }; //db.detalle_receta.Find(productoId, recetaId); producto pr = new producto(); receta rt = new receta(); rt = db.receta.Find(recetaId); pr = db.producto.Find(productoId); db.detalle_receta.Attach(dr); var query = from rtd in db.detalle_receta where rtd.productoId == proId && rtd.recetaId == recId select rtd.cantidad; foreach (int grp in query) { cantidadD = grp; } rt.costo_receta = Convert.ToInt16(rt.costo_receta) - (cantidadD * ((Convert.ToInt16(pr.precio) / Convert.ToInt16(pr.formato)))); db.detalle_receta.Remove(dr); //remuevo db.SaveChanges(); } catch (Exception e) { ModelState.AddModelError("Error al Eliminar Insumo Receta", e); } return(RedirectToAction("Index", "DetalleReceta", new { id = recetaId })); }
public ActionResult DeleteDetail(FormCollection collection, int id, int id_cabecera, string nombre) { try { detalle_receta cr = new detalle_receta(); cr = db.detalle_receta.Find(Convert.ToInt16(collection.Get("id"))); db.detalle_receta.Remove(cr); db.SaveChanges(); return(RedirectToAction("IndexDetail", new { id = id_cabecera, nombre = nombre })); } catch { return(View()); } }
public void InsercionDetalleReceta() { int drct_originales = db.detalle_receta.Count(); detalle_receta drct = new detalle_receta(); decimal cantidad_detalle_receta = 18; int cabecera_receta_id = 1; int id_articulo = 1; drct.cantidad = cantidad_detalle_receta; drct.articuloId = id_articulo; drct.cabecera_recetaId = cabecera_receta_id; db.detalle_receta.Add(drct); db.SaveChanges(); int drct_cambiadas = db.detalle_receta.Count(); Assert.AreEqual(drct_originales + 1, drct_cambiadas); db.detalle_receta.Remove(drct); db.SaveChanges(); }
public void EliminarDetalleReceta() { int drct_originales = db.detalle_receta.Count(); detalle_receta drct = new detalle_receta(); decimal cantidad_detalle_receta = 18; int cabecera_receta_id = 1; int id_articulo = 1; drct.cantidad = cantidad_detalle_receta; drct.articuloId = id_articulo; drct.cabecera_recetaId = cabecera_receta_id; db.detalle_receta.Add(drct); db.SaveChanges(); int ultimo_detalle_agregado = db.detalle_receta.OrderByDescending(x => x.Id).First().Id; drct = db.detalle_receta.Find(Convert.ToInt16(ultimo_detalle_agregado)); db.detalle_receta.Remove(drct); db.SaveChanges(); int drct_cambiadas = db.detalle_receta.Count(); Assert.AreEqual(drct_cambiadas, drct_originales); }
public ActionResult AgregaRecetaDetalle(FormCollection f) { var d = new detalle_receta(); foreach (var a in f.AllKeys) { switch (a) // Selecciono input dependiendo el id { case "txtReceta": d.recetaId = int.Parse(f[a]); break; case "selectProducto": d.productoId = int.Parse(f[a]); break; case "selectMedida": d.medidaId = int.Parse(f[a]); break; case "txtCantidad": d.cantidad = int.Parse(f[a]); break; } } //Response.Write(d.recetaId); //return null; try { int cantidadD = 0; // agrego Detalle recetas a la DB detalle_receta dr = new detalle_receta(); producto pr = new producto(); receta rt = new receta(); var query = from rtd in db.detalle_receta where rtd.productoId == d.productoId && rtd.recetaId == d.recetaId select rtd.cantidad; foreach (int grp in query) { cantidadD = grp; } if (cantidadD != 0) { throw new ArgumentException("Producto ya se encuentra registrado"); } rt = db.receta.Find(d.recetaId); pr = db.producto.Find(d.productoId); dr.cantidad = d.cantidad; dr.recetaId = d.recetaId; dr.productoId = d.productoId; dr.medidaId = pr.medidaId; dr.estado = true; db.detalle_receta.Add(dr); int idReceta = d.recetaId; int valor = Convert.ToInt16(rt.costo_receta) + (Convert.ToInt16(d.cantidad) * ((Convert.ToInt16(pr.precio) / Convert.ToInt16(pr.formato)))); rt.costo_receta = Convert.ToInt16(valor); db.SaveChanges(); return(RedirectToAction("Index", "DetalleReceta", new { id = d.recetaId })); } catch (Exception) { return(RedirectToAction("Index", "DetalleReceta", new { id = d.recetaId, editar = 1 })); } }