public void AddOrUpdate(AddOrUpdateTaskStatusInput input)
        {
            if (input == null)
            {
                Logger.Error($"{nameof(input)} should not be null.");
                return;
            }

            var oldRecord = DbContext.TaskStatus.FirstOrDefault(ts => ts.Identity == input.Identity && ts.NodeId == input.NodeId);

            if (oldRecord == null)
            {
                var taskStatus = Mapper.Map <Core.Entities.TaskStatus>(input);
                taskStatus.CreationTime         = DateTime.Now;
                taskStatus.LastModificationTime = DateTime.Now;
                DbContext.TaskStatus.Add(taskStatus);
            }
            else
            {
                oldRecord.AvgDownloadSpeed  = input.AvgDownloadSpeed;
                oldRecord.AvgPipelineSpeed  = input.AvgPipelineSpeed;
                oldRecord.AvgProcessorSpeed = input.AvgProcessorSpeed;
                oldRecord.Error             = input.Error;
                oldRecord.Left    = input.Left;
                oldRecord.Status  = input.Status;
                oldRecord.Success = input.Success;
                oldRecord.Thread  = input.Thread;
                oldRecord.Total   = input.Total;
                oldRecord.LastModificationTime = DateTime.Now;
            }
            DbContext.SaveChanges();
        }
Example #2
0
 public IActionResult AddOrUpdate([FromBody] AddOrUpdateTaskStatusInput input)
 {
     if (input == null)
     {
         return(NoContent());
     }
     _taskStatusAppService.AddOrUpdate(input);
     return(Ok());
 }