예제 #1
0
 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);
 }
예제 #2
0
        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 } });
        }