Exemplo n.º 1
0
        public IActionResult EditSubTask(int subtaskId)
        {
            Team    team    = unitOfWork.Teams.GetTeamWithTeamLeaderId(userManager.GetUserId(HttpContext.User));
            SubTask subTask = unitOfWork.SubTasks.GetSubTaskWithEngineer(subtaskId);
            List <ApplicationUser> TeamMembers = unitOfWork.Engineers.GetEngineersInsideTeam(team.Id).ToList();

            TeamMembers.RemoveAll(e => e.UserName == HttpContext.User.Identity.Name);

            var subTaskVM = new SubTaskViewModel
            {
                SubTaskId   = subtaskId,
                Name        = subTask.Name,
                Description = subTask.Description,
                StartDate   = subTask.StartDate.Value.Date.ToShortDateString() ?? "",
                EndDate     = subTask.EndDate.Value.Date.ToShortDateString() ?? "",
                Assignee    = subTask.Engineer.Id,
                Status      = subTask.Status,
                Priority    = subTask.Priority,
                TeamMembers = TeamMembers
            };

            var index = subTaskVM.TeamMembers.FindIndex(x => x.Id == subTaskVM.Assignee.ToString());
            var item  = subTaskVM.TeamMembers[index];

            subTaskVM.TeamMembers[index] = subTaskVM.TeamMembers[0];
            subTaskVM.TeamMembers[0]     = item;

            //subTaskVM.TeamMembers.OrderBy(x => x.Id == subTask.FK_EngineerID).ToList();

            return(PartialView("_SubTaskModal", subTaskVM));
        }
Exemplo n.º 2
0
        public IActionResult AddSubTask(int?id)
        {
            SubTaskViewModel model = new SubTaskViewModel()
            {
                ToDoTaskId = id.Value
            };

            return(View(model));
        }
Exemplo n.º 3
0
 public SubTaskDTO CreateSubTask(SubTaskViewModel subTaskViewModel)
 {
     return(new SubTaskDTO()
     {
         Id = subTaskViewModel.Id,
         Name = subTaskViewModel.Name,
         Description = subTaskViewModel.Description,
         IsDone = subTaskViewModel.IsDone
     });
 }
Exemplo n.º 4
0
        public async Task <MobileResult> PutAsync(SubTaskViewModel model)
        {
            var client = await GetClient();

            var json = await client.PutAsync(Url + "editsubtask", new StringContent(JsonConvert.SerializeObject(model), Encoding.UTF8, "application/json"));

            var result = JsonConvert.DeserializeObject <MobileResult>(await json.Content.ReadAsStringAsync());

            return(result);
        }
Exemplo n.º 5
0
 public SubTodoTask ViewSubTaskToSubTask(SubTaskViewModel model)
 {
     return(new SubTodoTask
     {
         Id = model.Id,
         Title = model.Title,
         SubTodoStatus = model.SubTodoStatus,
         Description = model.Description,
         TaskId = model.TaskId
     });
 }
Exemplo n.º 6
0
        public IActionResult AddSubTask(SubTaskViewModel model)
        {
            SubTask subTask = new SubTask()
            {
                Title       = model.Title,
                Description = model.Description,
                Status      = Status.NotDone,
                ToDoTaskId  = model.ToDoTaskId
            };

            _subTaskService.CreateNewSubTask(subTask);

            return(View("_AddedNewSubTask"));
        }
Exemplo n.º 7
0
        public IActionResult AddSubTask(int taskID, int teamId)
        {
            List <ApplicationUser> TeamMembers = unitOfWork.Engineers.GetEngineersInsideTeam(teamId).ToList();

            TeamMembers.RemoveAll(e => e.UserName == HttpContext.User.Identity.Name);

            var subTask = new SubTaskViewModel
            {
                FK_TaskId   = taskID,
                TeamMembers = TeamMembers
            };

            return(PartialView("_SubTaskModal", subTask));
        }
Exemplo n.º 8
0
 public IHttpActionResult GetSubTask(int id, int?taskId = null)
 {
     try
     {
         SubTaskViewModel result = subTaskFactory.CreateSubTask(subTaskService.GetSubTask(id, taskId));
         return(Ok(result));
     }
     catch (ValidationException)
     {
         return(NotFound());
     }
     catch (Exception)
     {
         return(InternalServerError());
     }
 }
Exemplo n.º 9
0
        public async Task <IActionResult> AddSubTask(int id)
        {
            if (id <= 0)
            {
                throw new ArgumentException();
            }

            SubTaskViewModel model = new SubTaskViewModel {
                ParentTaskId = id
            };

            IEnumerable <TaskModelBL> subTasks = await _client.Get <List <TaskModelBL> >("api/subtasks/" + id.ToString());

            ViewBag.SubTasks = new SelectList(subTasks, "Id", "Name");

            return(View(model));
        }
Exemplo n.º 10
0
        public IActionResult AddSubTask(SubTaskViewModel subTask)
        {
            if (ModelState.IsValid)
            {
                var startDate = subTask.StartDate.Split('/').Select(Int32.Parse).ToList();
                var endDate   = subTask.EndDate.Split('/').Select(Int32.Parse).ToList();
                subTask.Description = subTask.Description.Replace("\r\n", "<br>");
                var newSubTask = new SubTask
                {
                    Name          = subTask.Name,
                    Description   = subTask.Description,
                    FK_TaskId     = subTask.FK_TaskId,
                    FK_EngineerID = subTask.Assignee,
                    Priority      = subTask.Priority,
                    Status        = subTask.Status,
                    StartDate     = new DateTime(startDate[2], startDate[1], startDate[0]),
                    EndDate       = new DateTime(endDate[2], endDate[1], endDate[0])
                };

                newSubTask          = unitOfWork.SubTasks.Add(newSubTask);
                newSubTask.Engineer = unitOfWork.Engineers.GetById(subTask.Assignee);

                #region notification

                //--------Add Notification to DataBase

                string messege = $" There Is a new task *{newSubTask.Name}=* had been assigned to you" +
                                 $" at *{DateTime.Now}=* ";

                SendNotification(messege, newSubTask.FK_EngineerID);
                #endregion

                return(PartialView("_NewSubTaskPartialView", newSubTask));
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 11
0
        public async Task <IActionResult> AddSubTask(SubTaskViewModel model)
        {
            if (ModelState.IsValid)
            {
                TaskModelBL task = await _client.Get <TaskModelBL>("api/mytask/details/" + model.SubTaskId.ToString());

                if (task == null)
                {
                    return(NotFound());
                }

                task.ParentTaskId = model.ParentTaskId;

                await _client.Put("api/mytask/update", task.Id, task);

                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                return(View(model));
            }
        }
Exemplo n.º 12
0
 public IActionResult DeleteSubTask(SubTaskViewModel model)
 {
     _subTaskServices.DeleteSubTask(model.Id);
     return(RedirectToAction("GetById", "Task", new { id = model.TaskId }));
 }
Exemplo n.º 13
0
        public IActionResult EditSubTask(SubTaskViewModel newSubTask)
        {
            if (ModelState.IsValid)
            {
                int[]   startDate       = new int[3];
                int[]   endDate         = new int[3];
                bool    ChangeAssign    = false;
                SubTask originalSubTask = unitOfWork.SubTasks.GetSubTaskWithEngineer(newSubTask.SubTaskId);
                // check if the assigneed engineer had been changed
                string oldAssigneeId = originalSubTask.FK_EngineerID;
                if (originalSubTask.FK_EngineerID != newSubTask.Assignee)
                {
                    originalSubTask.FK_EngineerID = newSubTask.Assignee;
                    ChangeAssign = true;
                }
                // edit the subtask
                originalSubTask.Name        = newSubTask.Name;
                originalSubTask.Description = newSubTask.Description;
                originalSubTask.Priority    = newSubTask.Priority;
                originalSubTask.Status      = newSubTask.Status;

                if (newSubTask.StartDate.Contains('/'))
                {
                    startDate = newSubTask.StartDate.Split('/').Select(Int32.Parse).ToArray();
                    originalSubTask.StartDate = new DateTime(startDate[2], startDate[1], startDate[0]);
                }
                if (newSubTask.EndDate.Contains('/'))
                {
                    endDate = newSubTask.EndDate.Split('/').Select(Int32.Parse).ToArray();
                    originalSubTask.EndDate = new DateTime(endDate[2], endDate[1], endDate[0]);
                }
                originalSubTask = unitOfWork.SubTasks.Edit(originalSubTask);

                // check if the subtask had been changed
                if (!ChangeAssign)
                {
                    #region notification without assignee changed
                    //--------Add Notification to DataBase

                    string messege = $"Your Team Leader has updated *{originalSubTask.Name}=*'s details  at *{DateTime.Now}=* ";

                    SendNotification(messege, originalSubTask.FK_EngineerID);

                    #endregion
                }
                else
                {
                    #region notification for old employee
                    //--------Add Notification to DataBase

                    string messege1 = $"Your Team Leader has reassigned *{originalSubTask.Name}=* to another employee  at *{DateTime.Now}=* ";
                    SendNotification(messege1, oldAssigneeId);
                    #endregion

                    #region notification for the new employee
                    //--------Add Notification to DataBase

                    string messege2 = $"Your Team Leader has updated *{originalSubTask.Name}=*'s details  at *{DateTime.Now}=* ";
                    SendNotification(messege2, newSubTask.Assignee);
                    #endregion
                }


                originalSubTask = unitOfWork.SubTasks.GetSubTaskWithEngineer(originalSubTask.Id);
                return(PartialView("_NewSubTaskPartialView", originalSubTask));
            }
            else
            {
                return(null);
            }
        }
Exemplo n.º 14
0
        public void EditSubTAsk(SubTaskViewModel model)
        {
            var subTask = _mapper.ViewSubTaskToSubTask(model);

            _subTaskRepository.Update(subTask);
        }
Exemplo n.º 15
0
        public void AddSubTask(SubTaskViewModel model)
        {
            var subTask = _mapper.ViewSubTaskToSubTask(model);

            _subTaskRepository.Insert(subTask);
        }
Exemplo n.º 16
0
        private void BuildPageData(List <TaskViewModel> list, Models.Task task, IEnumerable <SubTask> masters)
        {
            var taskViewModel = new TaskViewModel {
                TaskName = task.Name
            };

            list.Add(taskViewModel);

            var totalRows = 0;

            foreach (var master in masters.OrderBy(e => e.ID))
            {
                var masterViewModel = new MasterTaskViewModel
                {
                    ID           = master.ID,
                    ScheduleDate = master.ScheduleDate,
                    TaskName     = master.Content,
                    Department   = master.ToDepartmentName,
                };

                foreach (var child in master.Children)
                {
                    var childViewModel = new SubTaskViewModel
                    {
                        Name       = child.Content,
                        Status     = child.Status,
                        Department = child.ToDepartmentName,
                    };
                    if (totalRows + childViewModel.Rows > Config.MaxRows)
                    {
                        taskViewModel.Children.Add(masterViewModel);

                        masterViewModel = new MasterTaskViewModel
                        {
                            ID           = master.ID,
                            ScheduleDate = master.ScheduleDate,
                            TaskName     = master.Content,
                            Department   = master.ToDepartmentName,
                        };
                        masterViewModel.Children.Add(childViewModel);

                        totalRows     = masterViewModel.Rows;
                        taskViewModel = new TaskViewModel {
                            TaskName = task.Name
                        };
                        list.Add(taskViewModel);
                    }
                    else
                    {
                        masterViewModel.Children.Add(childViewModel);
                        totalRows += childViewModel.Rows;
                    }
                }

                if (masterViewModel.Children.Count > 0)
                {
                    taskViewModel.Children.Add(masterViewModel);
                }
                if (totalRows >= Config.MaxRows)
                {
                    totalRows     = 0;
                    taskViewModel = new TaskViewModel {
                        TaskName = task.Name
                    };
                    list.Add(taskViewModel);
                }
            }
        }