public async Task <ActionResult> ShowGroupTasks(int travelGroupId) { // we need the travelGroupID to find the current group we are working with. var MyHabiticaORM = new habiticatravelEntities(); var model = new TravelGroupandUserTaskandItems { ManyTaskAndItemsList = new List <TaskAndItems>(), Users = MyHabiticaORM.TravelGroupUsers.Where(u => u.TravelGroupId == travelGroupId).ToList(), TravelGroupandUser = new TravelGroupandUser { TravelGroup = MyHabiticaORM.TravelGroups.Find(travelGroupId), }, }; var tasks = MyHabiticaORM.CustomTasks.Where(ct => ct.TravelGroupId == travelGroupId && ct.UserId == null).ToList(); foreach (CustomTask task in tasks) { var tempTaskItems = new TaskAndItems { CustomTask = task }; model.ManyTaskAndItemsList.Add(tempTaskItems); } // going to find the task based on the task id , display all the task info into a view. // pk is TaskID , store that task in an object. Store it in a view bag. and send the viewbag to the view return(View(model)); }
public ActionResult AddGroupCustomTask(TravelGroupandUserTaskandItems model) { var HabiticaORM = new habiticatravelEntities(); model.TaskAndItems.CustomTask.TravelGroupId = model.TravelGroupandUser.TravelGroup.TravelGroupId; HabiticaORM.CustomTasks.Add(model.TaskAndItems.CustomTask); HabiticaORM.SaveChanges(); TempData["taskAndItems"] = model.TaskAndItems; TempData["travelGroupandUser"] = model.TravelGroupandUser; return(RedirectToAction("CloneGroupCustomTaskForUsers")); }
public ActionResult CreateNewGroupCustomTask(int TravelGroupId) { var MyHabiticaORM = new habiticatravelEntities(); var MyUsers = new List <TravelGroupUser>(); var model = new TravelGroupandUserTaskandItems() { Users = MyHabiticaORM.TravelGroupUsers.Where(u => u.TravelGroupId == TravelGroupId).ToList(), TravelGroupandUser = new TravelGroupandUser() { TravelGroup = MyHabiticaORM.TravelGroups.Find(TravelGroupId), }, }; // model.TravelGroupandUser.TravelGroup = MyHabitica.TravelGroups.Find(TravelGroupId) return(View("GroupCustomTasks", model)); }
public async Task <ActionResult> RemoveGroupTask(TravelGroupandUserTaskandItems model, int TaskId) { habiticatravelEntities HabiticaORM = new habiticatravelEntities(); CustomTask selectedTask = HabiticaORM.CustomTasks.Single(t => t.TaskId == TaskId && t.UserId == null); var selectedTaskItems = HabiticaORM.CustomTaskItems.Where(t => t.TaskId == TaskId).ToList(); if (selectedTaskItems.Count != 0) { foreach (var item in selectedTaskItems) { HabiticaORM.CustomTaskItems.Remove(item); } } HabiticaORM.CustomTasks.Remove(selectedTask); List <TravelGroupUser> GroupUsers = new List <TravelGroupUser>(); GroupUsers = HabiticaORM.TravelGroupUsers.Where(u => u.TravelGroupId == model.TravelGroupandUser.TravelGroup.TravelGroupId).ToList(); foreach (TravelGroupUser user in GroupUsers) { HabiticaUser MyHabUser = HabiticaORM.HabiticaUsers.Single(u => u.UserId == user.UserId); CustomTask selectedUserTask = HabiticaORM.CustomTasks.Single(t => t.TravelGroupId == model.TaskAndItems.CustomTask.TravelGroupId && t.UserId == user.UserId && t.TaskName == model.TaskAndItems.CustomTask.TaskName); var selectedUserTaskItems = HabiticaORM.CustomTaskItems.Where(t => t.TaskId == selectedUserTask.TaskId).ToList(); if (selectedUserTaskItems.Count != 0) { foreach (var item in selectedUserTaskItems) { var ItemConfirm = (JObject)JObject.FromObject(await HabiticaHTTP.DeleteChecklistItem(selectedUserTask, item, MyHabUser)); HabiticaORM.CustomTaskItems.Remove(item); } } var ItemConfirm2 = (JObject)JObject.FromObject(await HabiticaHTTP.DeleteATask(selectedUserTask, MyHabUser)); HabiticaORM.CustomTasks.Remove(selectedUserTask); } HabiticaORM.SaveChanges(); return(RedirectToAction("Index", "Home")); }
public ActionResult EditGroupCustomTask(TravelGroupandUserTaskandItems model, int TaskId) { habiticatravelEntities HabiticaORM = new habiticatravelEntities(); var CurrentTaskItems = new List <CustomTaskItem>(HabiticaORM.CustomTasks.Find(TaskId).CustomTaskItems.ToList()); CustomTask TaskToEdit = HabiticaORM.CustomTasks.Find(TaskId); TaskAndItems TaskAndItemToEdit = new TaskAndItems { CustomTask = TaskToEdit, CustomTaskItem = CurrentTaskItems }; ViewBag.TaskToBeEdited = TaskToEdit; return(View(TaskAndItemToEdit)); }