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(); }
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 }); }
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)); }
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); }
public void CreateUserTaskMapping(UserTaskMapping userTaskMapping) { _userTaskMappingRepository.Insert(userTaskMapping); }