public ActionResult DeleteConfirmed(int id) { if (!User.IsInRole("Owner") && !User.IsInRole("Admin")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } if (db.Reserves.Where(p => p.StationPostId == id).Any()) { return(RedirectToAction("Index")); } StationPostsAtribuition ppp = db.StationPostsAtribuition.Where(p => p.StationPostId == id).Single(); db.StationPostsAtribuition.Remove(ppp); var times = db.TimeAtribuitions.Where(o => o.StationPostId == id); db.TimeAtribuitions.RemoveRange(times); StationPost stationPost = db.StationPosts.Find(id); db.StationPosts.Remove(stationPost); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult AddPost(StationPost stationPost, int?StationId) { if (!User.IsInRole("Owner") && !User.IsInRole("Admin")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } if (NomePostoRepetido(stationPost)) { ModelState.AddModelError("StationPostName", "Já existe um posto com este nome nesta ou noutra estação."); AddPost(StationId); } else { if (ModelState.IsValid) { db.StationPosts.Add(stationPost); for (int i = 0; i < db.TimeDatas.Count() / 2; i++) { if (i < stationPost.Start.Hour || i > stationPost.Finnish.Hour) { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == false).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = stationPost.StationPostId, StationPost = stationPost, TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } else { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == true).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = stationPost.StationPostId, StationPost = stationPost, TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } } Station stat = db.Stations.Find(StationId); StationPostsAtribuition sss = new StationPostsAtribuition() { Station = stat, StationId = stat.StationId, StationPost = stationPost, StationPostId = stationPost.StationPostId }; db.StationPostsAtribuition.Add(sss); db.SaveChanges(); return(RedirectToAction("Index")); } } ViewBag.RechargeTypeId = new SelectList(db.RechargeTypes, "RechargeTypeId", "RechargeTypeName", stationPost.RechargeTypeId); return(View(stationPost)); }