public ActionResult Create(ViewModels.ViewModelCompra nuevaCompra) { if (System.Web.HttpContext.Current.Session["ingreso"] != null) { if ((Boolean)Session["ingreso"] == true) { Compra aux = (Compra)Session["NuevaCompra"]; Compra nueva = new Compra(); foreach (Excursion e in aux.CompraExcursion) { int ID = e.Id; Excursion AuxExcursion = db.Excursiones.Find(ID); nueva.CompraExcursion.Add(AuxExcursion); } foreach (Transporte t in aux.CompraTransporte) { int ID = t.Id; Transporte AuxTransporte = db.Transportes.Find(ID); nueva.CompraTransporte.Add(AuxTransporte); } int Excursiones = 0; int Transportes = 0; foreach (Excursion E in aux.CompraExcursion) { Excursiones = (E.Costo) + Excursiones; } foreach (Transporte T in aux.CompraTransporte) { Transportes = T.Costo + Transportes; } nueva.CostoTotal = Excursiones + Transportes; nueva.Fecha = DateTime.Now; nueva.Cliente = db.Usuarios.Find(nuevaCompra.Compra.Cliente.Id); if (nueva.CompraExcursion.Count() == 0 && nueva.CompraTransporte.Count() == 0) { return(RedirectToAction("Create")); } Session["NuevaCompra"] = null; db.Compras.Add(nueva); db.SaveChanges(); return(RedirectToAction("Index")); } } return(RedirectToAction("Login", "Home")); }
// GET: Compras/Create public ActionResult Create() { if (System.Web.HttpContext.Current.Session["ingreso"] != null) { if ((Boolean)Session["ingreso"] == true) { Compra nuevaCompra = new Compra(); if (Session["NuevaCompra"] == null) { Session["NuevaCompra"] = nuevaCompra; } if (Session["NuevaCompra"] != null) { nuevaCompra = (Compra)Session["NuevaCompra"]; } if (Session["ExcursionNueva"] != null) { Excursion nuevaExcursion = db.Excursiones.Find((int)Session["ExcursionNueva"]); Boolean agregarExcursion = true; foreach (Excursion e in nuevaCompra.CompraExcursion) { if (e.Id == nuevaExcursion.Id) { agregarExcursion = false; } } if (agregarExcursion == true) { nuevaCompra.CompraExcursion.Add(nuevaExcursion); } Session["ExcursionNueva"] = null; Session["NuevaCompra"] = nuevaCompra; } if (Session["ExcursionQuitar"] != null) { Excursion QuitarExcursion = db.Excursiones.Find((int)Session["ExcursionQuitar"]); foreach (Excursion e in nuevaCompra.CompraExcursion) { if (e.Id == QuitarExcursion.Id) { QuitarExcursion = e; } } nuevaCompra.CompraExcursion.Remove(QuitarExcursion); int i = nuevaCompra.CompraExcursion.Count(); Session["ExcursionQuitar"] = null; Session["NuevaCompra"] = nuevaCompra; } if (Session["TransporteNuevo"] != null) { Transporte nuevoTransporte = db.Transportes.Find((int)Session["TransporteNuevo"]); Boolean agregarTransporte = true; foreach (Transporte t in nuevaCompra.CompraTransporte) { if (t.Id == nuevoTransporte.Id) { agregarTransporte = false; } } if (agregarTransporte == true) { nuevaCompra.CompraTransporte.Add(nuevoTransporte); } Session["TransporteNuevo"] = null; Session["NuevaCompra"] = nuevaCompra; } if (Session["TransporteQuitar"] != null) { Transporte QuitarTransporte = db.Transportes.Find((int)Session["TransporteQuitar"]); foreach (Transporte t in nuevaCompra.CompraTransporte) { if (t.Id == QuitarTransporte.Id) { QuitarTransporte = t; } } nuevaCompra.CompraTransporte.Remove(QuitarTransporte); Session["TransporteQuitar"] = null; Session["NuevaCompra"] = nuevaCompra; } var model = new ViewModels.ViewModelCompra() { Compra = nuevaCompra, Excursiones = ExcursionesController.GetExcursiones(), Transportes = TransportesController.GetTransportes(), Clientes = UsuariosController.GetClientes() }; return(View(model)); } } return(RedirectToAction("Login", "Home")); }