Esempio n. 1
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            TravelerProfile tp = await ProfileManager.LoadUserAndTravelerProfile(User);

            using (var db = new ApplicationDbContext())
            {
                Models.Request.Request requestDB = await db.Requests.FindAsync(id);

                if (requestDB.RequestOwner_ID != tp.ID)
                {
                    NotificationManager.AddException(new Exception("Access Violation, Requesteditor is not requestowner"));
                }
                IQueryable <Models.RoomRequest.RoomRequest> RoomRequestsToBeCanceled = db.RoomRequests.Where(p => p.Request_ID == id);
                List <Models.RoomRequest.RoomRequest>       rRqL = await RoomRequestsToBeCanceled.ToListAsync();

                foreach (var rRq in rRqL)
                {
                    rRq.Invalid();          //Set RoomRq toinvalid, user will see request was Deleted
                    db.Entry(rRq).State = EntityState.Modified;
                }


                requestDB.Delete();
                db.Entry(requestDB).State = EntityState.Modified;
                await db.SaveChangesAsync();

                NotificationManager.AddNotification(NotificationType.Success, "Your request has been deleted");
            }

            return(RedirectToAction("Index"));
        }