public void AddSubTask(SubTaskModel request) { var toDoTask = _toDoRepository.GetAll() .FirstOrDefault(x => x.Id == request.ToDoTaskId); if (toDoTask == null) { throw new ToDoSubTaskExceptions("No such task."); } if (string.IsNullOrWhiteSpace(request.SubTaskName)) { throw new ToDoSubTaskExceptions("SubTask name is required."); } if (string.IsNullOrWhiteSpace(request.Description)) { throw new ToDoSubTaskExceptions("Description is required."); } var subTask = new ToDoSubTask { SubTaskName = request.SubTaskName, Description = request.Description }; _subTaskRepository.Create(subTask); }
public async Task <List <PrivateTaskModel> > GetWebPrivateData(int Month, int Year) { List <PrivateTaskModel> list = new List <PrivateTaskModel>(); using (var ctx = new DbEntities()) { var webData = await ctx.Tasks.Where(x => x.MonthId == Month && x.Year == Year && x.Type == 2 && x.IsActive == true).Include(x => x.SubTasks.Select(y => y.JiraTickets)).ToListAsync(); if (webData != null) { foreach (var item in webData) { PrivateTaskModel obj = new PrivateTaskModel(); obj.StatusId = item.StatusId; var masttskstat = await ctx.TaskStatus.Where(x => x.Id == obj.StatusId).FirstOrDefaultAsync(); if (masttskstat != null) { obj.PrivateType = masttskstat.Description; obj.Icon = masttskstat.Icon; } if (item.SubTasks.Count > 0) { List <SubTaskModel> list1 = new List <SubTaskModel>(); foreach (var item1 in item.SubTasks) { SubTaskModel obj1 = new SubTaskModel(); obj1.Id = item1.Id; obj1.Description = item1.Description; if (item1.JiraTickets.Count > 0) { List <JiraTicketModel> list2 = new List <JiraTicketModel>(); foreach (var item2 in item1.JiraTickets) { JiraTicketModel obj2 = new JiraTicketModel(); obj2.JiraTicketId = item2.JiraTicketId; list2.Add(obj2); } obj1.JiraTickets = list2; } list1.Add(obj1); } obj.SubTasks = list1; } obj.Description = item.Description; list.Add(obj); } } return(list); } }
public SubTaskModel GetSubTask(int subTaskId) { SubTaskModel searchedSubTask = (from subTask in _ternContext.SubTasks where subTask.SubTaskId == subTaskId select new SubTaskModel { SubTaskId = subTask.SubTaskId, SubTaskName = subTask.SubTaskName, Status = new StatusModel { StatusId = subTask.Status.StatusId, StatusType = subTask.Status.StatusType }, TaskId = subTask.TaskId }).FirstOrDefault(); return(searchedSubTask); }
public ActionResult Post([FromBody] SubTaskModel request) { try { _subTaskService.AddSubTask(request); return(Ok("Success")); } catch (ToDoSubTaskExceptions ex) { Debug.WriteLine($"TODO:{ex.Message}"); return(BadRequest(ex.Message)); } catch (Exception ex) { Debug.WriteLine($"TODO:{ex.Message}"); return(BadRequest(ex.Message)); } }
public async Task <IActionResult> AddOrUpdate([FromBody] SubTaskModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetFirstError())); } var SubTask = await _subTaskService.AddOrUpdate(Mapper.Map <SubTask>(model)); if (model.PublishNow) { await PublishSubTask(new PublishSubTaskModel { CompanyId = SubTask.CompanyId, TaskHeadId = SubTask.TaskHeadId, SubTaskId = SubTask.Id }); } model.Order = SubTask.Order; model.Id = SubTask.Id; return(Ok(model)); }
// GET: Report public ActionResult Report() { if ((Session["userID"]) == null) { return(RedirectToAction("Index", "Login")); } string Handle, DevName, TesterName, QAName = ""; SubTaskModel model = new SubTaskModel(); List <SubTaskModel> subTasksReport = new List <SubTaskModel>(); List <SubTaskModel> Team = new List <SubTaskModel>(); int projectID = Convert.ToInt32(Session["ProjectID"]); var project = db.Projects.Where(m => m.ProjectID == projectID).FirstOrDefault(); model.ProjectDetail = project.Description; var t = db.Tasks.Where(m => m.ProjectID == projectID).ToList(); foreach (var c in t) { double Total = 0; var s = db.SubTasks.Where(m => m.TaskID == c.TaskID).ToList(); foreach (var d in s) { Total = Total + d.SubPercent; var u = db.Users.Where(m => m.User_ID == d.Handle).FirstOrDefault(); var y = db.Users.Where(m => m.User_ID == d.SubDevID).FirstOrDefault(); var tester = db.Users.Where(m => m.User_ID == c.TestID).FirstOrDefault(); var QA = db.Users.Where(m => m.User_ID == c.QAID).FirstOrDefault(); if (u != null) { Handle = u.User_Name; } else { Handle = "ไม่ผู้รับผิดชอบ"; } if (y != null) { DevName = y.User_Name; } else { DevName = "ไม่มีผู้รับผิดชอบ"; } if (tester != null) { TesterName = tester.User_Name; } else { TesterName = "ไม่มีผู้รับผิดชอบ"; } if (QA != null) { QAName = QA.User_Name; } else { QAName = "ไม่มีผู้รับผิดชอบ"; } subTasksReport.Add(new SubTaskModel { TaskID = c.TaskID, TaskName = c.TaskName, percent_task = c.TotalPercent, SubID = d.SubID, SubName = d.SubName, Handle = Handle, SubStatus = d.SubStatus, SubPercent = d.SubPercent, SubDescriptionDev = d.SubDescriptionDev, SubDevID = DevName, TesterName = TesterName, QAName = QAName, SubDevSend = d.SubDevSend, CreateDate = d.CreateDate, UpdateDate = d.UpdateDate, CreateBy = d.CreateBy, }); } Total = Total / s.Count; c.TotalPercent = Total; db.SaveChanges(); } string P_Name = null, D_Name = null, T_Name = null, Q_Name = null; var p = db.ProjectMembers.Where(m => m.ProjectID == projectID).OrderBy(m => m.Role).ToList(); foreach (var item in p) { if (item.Role == 1) { var N = db.Users.Where(m => m.User_ID == item.UserID).FirstOrDefault(); P_Name = N.User_Name; } else if (item.Role == 2) { var N = db.Users.Where(m => m.User_ID == item.UserID).FirstOrDefault(); D_Name = N.User_Name; } else if (item.Role == 3) { var N = db.Users.Where(m => m.User_ID == item.UserID).FirstOrDefault(); T_Name = N.User_Name; } else if (item.Role == 4) { var N = db.Users.Where(m => m.User_ID == item.UserID).FirstOrDefault(); Q_Name = N.User_Name; } Team.Add(new SubTaskModel { PM = P_Name, Dev = D_Name, Tester = T_Name, QA = Q_Name, Role = item.Role }); } ViewBag.DataList2 = Team; ViewBag.DataList = subTasksReport; return(View(model)); }