/// <summary> /// 配布情報を登録する /// </summary> /// <param name="distributionInfo">配布物</param> /// <param name="remarks">備考</param> /// <returns></returns> public async Task <DistributionTask> RegisterAsync(DistributionInfo distributionInfo, string remarks = null) { try { if (distributionInfo == null) { throw new Exception("parameter 'distributionItem' is required."); } return(await ExecuteAsync( () => { var distributionTask = new DistributionTask(); distributionTask.EnvironmentInfoId = operationHelper.EnvironmentInfoId; distributionTask.Condition = Entities.Enums.ConditionType.NotDistribute; distributionTask.BlobName = Guid.NewGuid().ToString(); distributionTask.Remarks = remarks; operationHelper.MaintenanceDbRepository.AddDistributionTask(distributionTask); operationHelper.MaintenanceDbRepository.SaveChanges(); new BlobHelper(operationHelper.StorageConnectionKey, $"distribution-{distributionTask.EnvironmentInfoId}") .Upload($"{distributionTask.BlobName}", distributionInfo.Serialize()); return distributionTask; })); } catch (Exception ex) { await SendmessageAsync(ex); throw; } }
/// <summary> /// /// </summary> /// <param name="distributionTask"></param> internal void RemoveDistributionTask(DistributionTask distributionTask) { this.context.DistributionTasks.Remove(distributionTask); }
/// <summary> /// /// </summary> /// <param name="distributionTask"></param> internal void AddDistributionTask(DistributionTask distributionTask) { this.context.DistributionTasks.Add(distributionTask); }