public User GetCurrentUser() { string name = GetCurrentUserName(); if (string.IsNullOrEmpty(name)) { return null; } var currentUser = repository.Query<User>().FirstOrDefault(x=>x.Username == name); if(currentUser ==null) { currentUser = new User {Id = Guid.NewGuid(), Username = name}; repository.Insert(currentUser); } return currentUser; }
private IQueryable<ReportDetail> GetReportDetailsForUser(DateTime startDate, int numberOfDays, User user, Func<ReportTimeEntry, bool> filter) { var endDate = startDate.AddDays(numberOfDays); IEnumerable<ReportTimeEntry> query = from x in (from te in repository.Query<TimeEntry>() where te.WorkItem.User == user && te.StartTime >= startDate && te.StartTime < endDate && te.EndTime != null select new ReportTimeEntry { Project = te.WorkItem.ProjectTaskType.Project.Name, Task = te.WorkItem.Name, Type = te.WorkItem.ProjectTaskType.Type.Name, StartTime = te.StartTime, EndTime = te.EndTime.Value }) orderby x.Project, x.Task, x.Type, x.StartTime select x; if (filter != null) { query = query.Where(filter); } return GetReportDetails(startDate, query, numberOfDays); }
private IQueryable<ReportDetail> GetReportDetailsForUser(DateTime startDate, int numberOfDays, User user) { var endDate = startDate.AddDays(numberOfDays); var query = from x in (from te in repository.Query<TimeEntry>() where te.WorkItem.User == user && te.StartTime >= startDate && te.StartTime < endDate && te.EndTime != null select new ReportTimeEntry { Project = te.WorkItem.ProjectTaskType.Project.ProjectCode, Task = te.WorkItem.ProjectTaskType.Task.TaskCode, Type = te.WorkItem.ProjectTaskType.Type.TypeCode, StartTime = te.StartTime, EndTime = te.EndTime.Value }) orderby x.Project, x.Task, x.Type, x.StartTime select x; return GetReportDetails(startDate, query, numberOfDays); }
private void SetupWorkItemList(out WorkItem workItem1, out WorkItem workItem3) { var user2 = new User { Id = Guid.NewGuid(), Username = "******" }; workItem1 = new WorkItem { Id = Guid.NewGuid(), Name = "Work Item 1", ProjectTaskType = new ProjectTaskType { Name = "Task Type 1" }, User = user }; startTime1 = new DateTime(2010, 1, 1); workItem1.TimeEntries.Add(new TimeEntry { StartTime = new DateTime(2009, 1, 1) }); workItem1.TimeEntries.Add(new TimeEntry { StartTime = startTime1 }); var workItem2 = new WorkItem { Id = Guid.NewGuid(), Name = "Work Item 2", ProjectTaskType = new ProjectTaskType { Name = "Task Type 2" }, User = user2 }; startTime2 = new DateTime(2010, 2, 1); workItem2.TimeEntries.Add(new TimeEntry { StartTime = startTime2 }); workItem3 = new WorkItem { Id = Guid.NewGuid(), Name = "Work Item 3", ProjectTaskType = new ProjectTaskType { Name = "Task Type 3" }, User = user }; var workItems = new List<WorkItem> { workItem1, workItem2, workItem3 }; repository.Stub(x => x.Query<WorkItem>()).Return(workItems.AsQueryable()).Repeat.Any(); }
public void SetUp() { repository = MockRepository.GenerateMock<IRepository>(); userTasks = MockRepository.GenerateMock<IUserTasks>(); projectTaskType = new ProjectTaskType(); user = new User(); this.createWorkItemRequest = new CreateWorkItemRequest() { Name = "Bond", ProjectTaskTypeId = Guid.NewGuid() }; repository.Stub(x => x.Get<ProjectTaskType>(createWorkItemRequest.ProjectTaskTypeId)).Return(projectTaskType); repository.Stub(x => x.Query<WorkItem>()).Return((new WorkItem[0]).AsQueryable()); userTasks.Stub(x => x.GetCurrentUser()).Return(user); }