Inheritance: INotifyPropertyChanging, INotifyPropertyChanged
Exemple #1
0
        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;
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 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);
        }