예제 #1
0
        private async Task <bool> HandleAsync(MaintenanceJobFinished e)
        {
            Log.Information("Finish Maintenance job: {JobId}, {ActualStartTime}, {EndTime}",
                            e.JobId, e.StartTime, e.EndTime);

            try
            {
                using (var transaction = await _dbContext.Database.BeginTransactionAsync())
                {
                    // insert maintetancejob
                    var job = await _dbContext.MaintenanceJobs.FirstOrDefaultAsync(j => j.Id == e.JobId);

                    job.ActualStartTime = e.StartTime;
                    job.ActualEndTime   = e.EndTime;
                    job.Notes           = e.Notes;
                    await _dbContext.SaveChangesAsync();

                    await transaction.CommitAsync();
                }
            }
            catch (DbUpdateException)
            {
                Log.Warning("Skipped adding maintenance job with id {JobId}.", e.JobId);
            }

            return(true);
        }
예제 #2
0
    private async Task HandleAsync(MaintenanceJobFinished mjf)
    {
        Log.Information("Finish Maintenance Job: {Id}, {StartTime}, {EndTime}",
                        mjf.JobId, mjf.StartTime, mjf.EndTime);

        await _repo.MarkMaintenanceJobAsFinished(mjf.JobId, mjf.StartTime, mjf.EndTime);
    }
        private async Task <bool> HandleCommand(string calendarId, MaintenanceJobFinished newEvent)
        {
            WorkshopCalendarEvent calendarEvent = new WorkshopCalendarEvent()
            {
                EventDate            = calendarId,
                PlannedEndDateTime   = newEvent.StartTime,
                PlannedStartDateTime = newEvent.EndTime,
                MessageType          = newEvent.MessageType
            };

            try
            {
                ReplaceOneResult actionResult = await _context.WorkshopCalendarEvents.ReplaceOneAsync(e => e.Id == newEvent.JobId && e.EventDate == calendarId,
                                                                                                      calendarEvent
                                                                                                      , new ReplaceOptions { IsUpsert = true });

                return(actionResult.IsAcknowledged &&
                       actionResult.ModifiedCount > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #4
0
 private async Task HandleAsync(MaintenanceJobFinished mjf)
 {
     await _repo.MarkMaintenanceJobAsFinished(mjf.JobId, mjf.StartTime, mjf.EndTime);
 }
예제 #5
0
        private async Task HandleAsync(MaintenanceJobFinished mjf)
        {
            Log.Information("Remove finished Maintenance Job: {Id}", mjf.JobId);

            await _repo.RemoveMaintenanceJobsAsync(new string[] { mjf.JobId.ToString() });
        }