public async Task SaveRepositoryUpdateHistory(IRepositoryUpdateHistory entity)
        {
            if (entity is RepositoryUpdateHistoryEntity ruh)
            {
                if (ruh.CreatedAt == null)
                {
                    ruh.CreatedAt = DateTimeOffset.UtcNow;
                }
                ruh.PartitionKey = RepositoryUpdateHistoryEntity.GeneratePartitionKey();
                ruh.RowKey       = entity.RepositoryId;
            }
            else
            {
                var pk = RepositoryUpdateHistoryEntity.GeneratePartitionKey();
                var rk = RepositoryUpdateHistoryEntity.GenerateRowKey(entity.RepositoryId);
                ruh = await _tableStorage.GetDataAsync(pk, rk)
                      ?? new RepositoryUpdateHistoryEntity
                {
                    PartitionKey = pk, RowKey = rk
                };

                ruh.RepositoryId  = entity.RepositoryId;
                ruh.InitialCommit = entity.InitialCommit;
                ruh.User          = entity.User;
                ruh.Branch        = entity.Branch;
                ruh.IsManual      = entity.IsManual;
                ruh.CreatedAt     = DateTime.UtcNow;
            }

            await _tableStorage.InsertOrMergeAsync(ruh);
        }
        public async Task <IRepositoryUpdateHistory> GetAsync(string repositoryUpdateHistoryId)
        {
            var pk = RepositoryUpdateHistoryEntity.GeneratePartitionKey();
            var rk = RepositoryUpdateHistoryEntity.GenerateRowKey(repositoryUpdateHistoryId);

            return(await _tableStorage.GetDataAsync(pk, rk));
        }
 public async Task RemoveRepositoryUpdateHistoryAsync(string repositoryUpdateHistoryId)
 {
     var pk = RepositoryUpdateHistoryEntity.GeneratePartitionKey();
     var rk = RepositoryUpdateHistoryEntity.GenerateRowKey(repositoryUpdateHistoryId);
     await _tableStorage.DeleteAsync(pk, rk);
 }