public IList<FullItemModel> Get(string sort, bool des, ListModel model) { //should be in the controller for checking usage. if (model.TaskId != null) { Task task = session.Load<Task>(model.TaskId); FullItemModel item = new FullItemModel(); item.FilledBy(task); return new List<FullItemModel> { item }; } IList<FullItemModel> models = new List<FullItemModel>(); Project current = session.Load<Project>(model.CurrentProject.TailSelectedProject.Id); IList<int> allProjectIds = current.GetDescendantIds(); var tasks = _querySource .Get(model, allProjectIds) .Sort(sort, des) .Paged(model.Pager); foreach (var task in tasks) { FullItemModel item = new FullItemModel(); item.FilledBy(task); models.Add(item); } return models; }
public FullItemModel Get(int taskId) { Task task = session.Load<Task>(taskId); FullItemModel model = new FullItemModel(); model.FilledBy(task); model.Project = new FFLTask.SRV.ViewModel.Project.FullItemModel(); model.Project.FilledBy(task.Project); return model; }
public void Accept(FullItemModel model) { throw new NotImplementedException(); }
private void setOwner(IList<UserModel> owners, FullItemModel task) { int i = task.LiteItem.Id.Value % owners.Count; task.Owner = owners[i]; }
private void setPublisher(IList<UserModel> publishers, FullItemModel task) { int i = task.LiteItem.Id.Value % publishers.Count; task.Publisher = publishers[i]; }
private void setDifficulty(IList<TaskDifficulty> difficulties, FullItemModel task) { int i = task.LiteItem.Id.Value % difficulties.Count; task.Difficulty = difficulties[i]; }
private void setStatus(IList<StatusModel> status, FullItemModel task) { int i = task.LiteItem.Id.Value % status.Count; task.LiteItem.CurrentStatus = status[i]; }
private IEnumerable<FullItemModel> getAll() { if (_all != null) { return _all; } IList<FullItemModel> tasks = new List<FullItemModel>(); for (int i = 1; i <= 256; i++) { DateTime created = new DateTime().Random(DateTime.Now.AddDays(i - 300)); FullItemModel task = new FullItemModel { Created = created, LiteItem = new LiteItemModel { Id = i, Title = string.Format("[ {0} ]balabalabdafdfasd", i) } }; tasks.Add(task); if (i <= 98) { task.Project = new FFLTask.SRV.ViewModel.Project.FullItemModel { LiteItem = new FFLTask.SRV.ViewModel.Project.LiteItemModel { Id = (int)FakeProjects.美工, Name = FakeProjects.美工.ToString() }, Description = "" }; } else if (i > 98 & i < 116) { task.Project = new FFLTask.SRV.ViewModel.Project.FullItemModel { LiteItem = new FFLTask.SRV.ViewModel.Project.LiteItemModel { Id = (int)FakeProjects.UI, Name = FakeProjects.UI.ToString() }, Description = "" }; } else { task.Project = new FFLTask.SRV.ViewModel.Project.FullItemModel { LiteItem = new FFLTask.SRV.ViewModel.Project.LiteItemModel { Id = (int)FakeProjects.后台, Name = FakeProjects.后台.ToString() }, Description = "" }; } int maxPriority = _projectConfigService.GetPriorities(task.Project.LiteItem.Id).Count; task.Priority = (TaskPriority)(i % maxPriority + 1); var publishers = _userService.GetPublishers(task.Project.LiteItem.Id); setPublisher(publishers, task); var difficulties = _projectConfigService.GetDifficulties(task.Project.LiteItem.Id); setDifficulty(difficulties, task); task.ExpectedWorkPeriod = new Random().Next(60); //TODO: need reference ViewModelMap? //task.ExpectedComplete = new DateTime().Random(task.Created); var status = _projectConfigService.GetStatus(task.Project.LiteItem.Id); setStatus(status, task); if (task.LiteItem.CurrentStatus.Stage == (int)FakeStatus.发布) { task.LatestUpdate = task.Created; } else { var owners = _userService.GetOwners(task.Project.LiteItem.Id); if (i % 3 != 0) { setPublisher(owners, task); task.Assign = new DateTime().Random(task.Created); } if (task.LiteItem.CurrentStatus.Stage == (int)FakeStatus.分配) { task.LatestUpdate = task.Assign.Value; } else { setOwner(owners, task); DateTime previousOwn = task.Assign ?? task.Created; task.Own = new DateTime().Random(previousOwn); if (task.LiteItem.CurrentStatus.Stage == (int)FakeStatus.承接) { task.LatestUpdate = task.Own.Value; } else { task.ActualComplete = new DateTime().Random(task.Own.Value); task.ActualWorkPeriod = (int)Math.Floor((task.ActualComplete.Value - task.Own.Value).TotalDays * 24 * 60); task.OverDue = task.ExpectedWorkPeriod.Value - task.ActualWorkPeriod.Value; //complete the task if (task.LiteItem.CurrentStatus.Stage == (int)FakeStatus.完成) { task.LatestUpdate = task.ActualComplete.Value; } if (task.LiteItem.CurrentStatus.Stage >= (int)FakeStatus.验收通过) { task.LatestUpdate = new DateTime().Random(task.ActualComplete.Value); var qualities = _projectConfigService.GetQualities(task.Project.LiteItem.Id); int quality = qualities.Count / 2 + 1; int qualityIndex = 1; if (task.LiteItem.CurrentStatus.Stage == (int)FakeStatus.验收通过) { qualityIndex = new Random().Next(quality, qualities.Count); } else if (task.LiteItem.CurrentStatus.Stage == (int)FakeStatus.验收失败) { qualityIndex = new Random().Next(qualityIndex, quality); } task.Quality = qualities[qualityIndex - 1]; } } } } } _all = tasks; return tasks; }
public void UpdateTaskProperty(FullItemModel model) { throw new NotImplementedException(); }