public UserTask UserTaskToDTOModel(Models.UserTask userTaskModel) { if (userTaskModel == null) { throw new ArgumentNullException(nameof(userTaskModel)); } return(new UserTask { Id = (ulong)userTaskModel.Id, Description = userTaskModel.Description, ExecuteTaskUntilDate = userTaskModel.ExecuteTaskUntilDate, ExecuteTaskUntilDateString = userTaskModel.ExecuteTaskUntilDate.ToString("dd.MM.yyyy"), ExecutorUser = userTaskModel.ExecutorUser?.Name, ExecutorUserId = userTaskModel.ExecutorUserId, PayloadId = userTaskModel.PayloadId, Priority = userTaskModel.Priority?.Name, PriorityId = userTaskModel.PriorityId, TaskManagerUser = userTaskModel.TaskManagerUser?.Name, TaskManagerUserId = userTaskModel.TaskManagerUserId, UserTaskState = userTaskModel.UserTaskState?.Name, UserTaskStateId = userTaskModel.UserTaskStateId, UserTaskType = userTaskModel.UserTaskType?.Name, UserTaskTypeId = userTaskModel.UserTaskTypeId }); }
public HttpResponseMessage UpdateTask(int id, int index, [FromBody] Models.UserTask task) { var tempAccount = UserAccounts.FirstOrDefault(x => x.UserId == id); tempAccount.UserTask[index].TaskName = task.TaskName; HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, ""); return(response); }
public Models.UserTask UserTaskDTOModelToModel(UserTask userTask) { if (userTask == null) { throw new ArgumentNullException(nameof(userTask)); } Models.UserTask userTaskModel = new Models.UserTask { ExecutorUserId = userTask.ExecutorUserId, Description = userTask.Description, ExecuteTaskUntilDate = userTask.ExecuteTaskUntilDate, Id = (long)userTask.Id, PayloadId = userTask.PayloadId, PriorityId = userTask.PriorityId, TaskManagerUserId = userTask.TaskManagerUserId, UserTaskStateId = userTask.UserTaskStateId, UserTaskTypeId = userTask.UserTaskTypeId }; return(userTaskModel); }
public async Task <IEnumerable <UserTask> > GetOrderedAndFilteredTasks(User user, int from, int to, string orderBy, string sortBy, string filterBy, string filterValue) { if (user == null) { throw new ArgumentNullException(nameof(user)); } try { var bindingFlags = BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance; var propertyToOrder = new Models.UserTask().GetType() .GetProperty(sortBy, bindingFlags); if (propertyToOrder == null) { throw new InvalidOperationException($"Data couldn't be ordered by this parameter! Parameter name: {sortBy}"); } if (!string.IsNullOrWhiteSpace(filterBy) && !string.IsNullOrWhiteSpace(filterValue)) { PropertyInfo propertyToFilter = new Models.UserTask().GetType() .GetProperty(filterBy, bindingFlags); if (propertyToFilter == null) { throw new InvalidOperationException($"Data couldn't be filtered by this parameter! Parameter name: {filterBy}"); } var tasks = await repository.UserTask .Include(u => u.Payload) .Include(u => u.Priority) .Include(u => u.TaskManagerUser) .Include(u => u.UserTaskState) .Include(u => u.UserTaskType) .Include(u => u.ExecutorUser).Where(u => u.ExecutorUserId == user.Id).ToListAsync(); tasks = tasks.Where(u => propertyToFilter.GetValue(u, null) != null && propertyToFilter.GetValue(u, null).ToString().Contains(filterValue)).ToList(); if (orderBy == OrderBy.ASCENDING) { tasks = tasks.OrderBy(t => propertyToOrder.GetValue(t, null)).Skip(from).Take(to - from).ToList(); } else { tasks = tasks.OrderByDescending(t => propertyToOrder.GetValue(t, null)).Skip(from).Take(to - from).ToList(); } return(tasks); } if (orderBy == OrderBy.ASCENDING) { var tasks = await repository.UserTask .Include(u => u.Payload) .Include(u => u.Priority) .Include(u => u.TaskManagerUser) .Include(u => u.UserTaskState) .Include(u => u.UserTaskType) .Include(u => u.ExecutorUser).Where(u => u.ExecutorUserId == user.Id).ToListAsync(); tasks = tasks .Where(u => propertyToOrder.GetValue(u, null) != null) .OrderBy(u => propertyToOrder.GetValue(u, null)).Skip(from).Take(to - from).ToList(); return(tasks); } else { var tasks = await repository.UserTask .Include(u => u.Payload) .Include(u => u.Priority) .Include(u => u.TaskManagerUser) .Include(u => u.UserTaskState) .Include(u => u.UserTaskType) .Include(u => u.ExecutorUser).Where(u => u.ExecutorUserId == user.Id).ToListAsync(); tasks = tasks .Where(u => propertyToOrder.GetValue(u, null) != null) .OrderByDescending(u => propertyToOrder.GetValue(u, null)).Skip(from).Take(to - from).ToList(); return(tasks); } } catch (Exception) { throw; } }
public DTOModels.UserTask UserTaskToDTOModel(Models.UserTask userTaskModel) { return(new DTOModels.UserTask()); }