public ActionResult Create(int NoProductos) { var Sucursales = db.Sucursales.Where(s => s.Usuarios.Any(u => u.Username == HttpContext.User.Identity.Name)); int noProductos = NoProductos; if (noProductos == 0) { return RedirectToAction("Error", new { Error = "Debes indicar el numero de productos a incluir en la orden de compra"}); } ViewBag.Sucursales = Sucursales.ToList(); ViewBag.Proveedores = db.Proveedores.OrderBy(p => p.RazonSocial); ViewBag.Productos = db.Productos.OrderBy(p => p.Nombre); ViewBag.noProductos = noProductos; var orden = new OrdenDeCompra(); return View(orden); }
public ActionResult Create(OrdenDeCompra orden) { int IdSucursal = int.Parse(Request.Form["IdSucursal"]); int IdProveedor = int.Parse(Request.Form["IdProveedor"]); int noProductos = int.Parse(Request.Form["noProductos"]); if (IdSucursal == 0) { return RedirectToAction("Error", new { Error = "Debes indicar la sucursal de la cual se emitira la orden de compra" }); } if (IdProveedor == 0) { return RedirectToAction("Error", new { Error = "Debes indicar el Proveedor al cual" }); } orden.IdProveedor = IdProveedor; orden.IdSucursal = IdSucursal; orden.FechaGenerada = DateTime.Now; orden.Activa = true; if (ModelState.IsValid) { //Guardamos la orden db.OrdenesDeCompra.Add(orden); db.SaveChanges(); int IdOrden = orden.ID; orden = db.OrdenesDeCompra.Find(IdOrden); int i = 0; /* * Guardamos cada uno de los productos */ orden.Productos = new List<ProductoOrden>(); for (i = 1; i <= noProductos; i++) { string labelId = "IdProducto" + i; string labelCantidad = "CantidadProducto" + i; int idProd = int.Parse(Request.Form[labelId]); decimal cantidad = decimal.Parse(Request.Form[labelCantidad]); var PO = new ProductoOrden { cantidad = cantidad, IdProducto = idProd, IdOrden = orden.ID, Producto = db.Productos.Find(idProd) }; orden.Productos.Add(PO); db.ProductosOrden.Add(PO); db.SaveChanges(); } return RedirectToAction("Index"); } return View(orden); }