/// <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);
 }