示例#1
0
        private static void Main(string[] args)
        {
            // TODO: Need to get the token in a secure way
            string token = ConfigurationManager.AppSettings["Token"].ToString();

            // Create OData service context
            var context = new TimetrackerOdataContext(new Uri(sevenPaceApiUrl), token);

            //TODO: DEFINE DATE PERIOD HERE
            // Perform query
            var startDate = DateTime.Today.AddDays(-7).ToString(DateParametersFormat);
            var endDate   = DateTime.Today.ToString(DateParametersFormat);

            var timeExport = context.Container.TimeExport(startDate, endDate, null, null, null);

            timeExport = timeExport.AddQueryOption("api-version", "2.1");

            ExportItemViewModelApi[] timeExportResult = timeExport.ToArray();

            UserTaskMapping userTaskMapping = ReadMappingJson();

            if (userTaskMapping?.Users != null && userTaskMapping?.Tasks != null)
            {
                foreach (var user in userTaskMapping.Users)
                {
                    ExportItemViewModelApi[] userTaskCollection =
                        timeExportResult.Where(x => x.TeamMember == user.VstsName)?.ToArray();

                    if (userTaskCollection != null)
                    {
                        foreach (var task in userTaskCollection)
                        {
                            string taskCode =
                                userTaskMapping.Tasks.FirstOrDefault(x => x.VstsTask == task.ActivityType)?.GoodTimesTask;
                            string username = user.SharePointName;

                            if (taskCode != null)
                            {
                                // TODO: Need to check about the time zone.
                                bool result = GoodTimeDataService.AddNewLog(username, task.RecordDate.DateTime, task.TimeTracked, CreateTaskComment(task), taskCode);
                                Console.WriteLine(result);
                            }
                        }
                    }
                }
            }
            // Print out the result
            //foreach (var row in timeExportResult)
            //{
            //    //Console.WriteLine("{0:g} {1} {2} {3} {4} {5}", row.RecordDate, row.UserID, row.TeamMember, row.Comment,
            //    //    row.ActivityType, row.TimeTracked);
            //    Console.WriteLine(CreateTaskComment(row));
            //}


            Console.ReadKey();
        }
示例#2
0
 public ToDoItem PrepareToDoModel(UserTaskMapping userTask)
 {
     return(new ToDoItem
     {
         TaskId = userTask.Task.Id,
         Name = userTask.Task.Name,
         Description = userTask.Task.Description,
         StatusId = userTask.Task.StatusId,
         DeadLine = userTask.Task.DeadLine,
         Subject = userTask.Task.Subject.Name
     });
 }
示例#3
0
        public JsonResult CreateTask(CreateTaskViewModel task)
        {
            var userId       = User.GetLoggedInUserId <string>();
            var subjectUsers = _subjectService.GetSubjectUsers(task.SubjectId);

            foreach (var subjectUser in subjectUsers)
            {
                var subjectTask = new Task
                {
                    Name          = task.Name,
                    Description   = task.Description,
                    DeadLine      = task.DeadLine,
                    StatusId      = (int)Common.Enums.TaskStatus.Proposed,
                    MaxAssessment = task.MaxAssessment,
                    CreatedById   = userId,
                    SubjectId     = task.SubjectId,
                    DateCreated   = DateTime.UtcNow
                };

                _taskService.CreateTask(subjectTask);


                var userTaskMapping = new UserTaskMapping
                {
                    UserId = subjectUser.User.Id,
                    TaskId = subjectTask.Id
                };

                _taskService.CreateUserTaskMapping(userTaskMapping);


                var teacherTaskMapping = new TeacherTaskMapping
                {
                    TeacherId = userId,
                    TaskId    = subjectTask.Id
                };

                _taskService.CreateTeacherTaskMapping(teacherTaskMapping);
            }

            return(CreateJsonResult(true));
        }
示例#4
0
        private static UserTaskMapping ReadMappingJson()
        {
            UserTaskMapping userTaskMapping = null;

            try
            {
                string filePath = Path.Combine(GetAssemblyFolderPath(), ConfigurationManager.AppSettings["MappingFilePath"].ToString());

                using (StreamReader file = File.OpenText(filePath))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    userTaskMapping = (UserTaskMapping)serializer.Deserialize(file, typeof(UserTaskMapping));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("[Error][{0}] : {1}", GetMethodName(), ex.Message);
                throw ex;
            }

            return(userTaskMapping);
        }
示例#5
0
 public void CreateUserTaskMapping(UserTaskMapping userTaskMapping)
 {
     _userTaskMappingRepository.Insert(userTaskMapping);
 }