public async Task Start() { lock (_assignmentsLock) { _assignments = (List <Assignment>)_assignmentRepository.GetAllAsync() .ConfigureAwait(false) .GetAwaiter() .GetResult(); } if (!_initialized) { _logger.LogInformation("Starting AssignmentController"); _initialized = true; _timer.Start(); } await Task.CompletedTask.ConfigureAwait(false); }
public async Task <dynamic> GetAssignments() { var assignments = await _assignmentRepository.GetAllAsync().ConfigureAwait(false); var list = new List <dynamic>(); foreach (var assignment in assignments) { var times = TimeSpan.FromSeconds(assignment.Time); var time = assignment.Time == 0 ? "On Complete" : $"{times.Hours:00}:{times.Minutes:00}:{times.Seconds:00}"; list.Add(new { id = assignment.Id, instance_name = assignment.InstanceName, source_instance_name = assignment.SourceInstanceName, device_uuid = assignment.DeviceUuid, device_group = assignment.DeviceGroupName, time = new { formatted = time, timestamp = assignment.Time, }, date = new { formatted = assignment.Date, timestamp = assignment.Date, }, enabled = assignment.Enabled ? "Yes" : "No", buttons = $@" <div class='btn-group' role='group'> <a href='/dashboard/assignment/start/{assignment.Id}' role='button' class='btn btn-sm btn-success'>Start</a> <a href='/dashboard/assignment/edit/{assignment.Id}' role='button' class='btn btn-sm btn-primary'>Edit</a> <a href='/dashboard/assignment/delete/{assignment.Id}' role='button' class='btn btn-sm btn-danger' onclick='return confirm(""Are you sure you want to delete auto-assignments with id {assignment.Id}?"")'>Delete</a> </div> " }); } return(new { data = new { assignments = list } }); }