Beispiel #1
0
        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));
        }
Beispiel #2
0
        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"));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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"));
        }
Beispiel #5
0
        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));
        }