示例#1
0
 private static IEnumerable <Tuple <string, object> > CreateQuery(UserInsertBatch batch)
 {
     return(EnumerableEx.Concat(
                new[] { Tuple.Create(_userInserter, (object)batch.User) },
                new[] { _userDescEntityCrud.CreateDeleter(batch.User.Id) },
                batch.UserDescriptionEntities.Select(e => Tuple.Create(_userDescEntityInserter, (object)e)),
                new[] { _userUrlEntityCrud.CreateDeleter(batch.User.Id) },
                batch.UserUrlEntities.Select(e => Tuple.Create(_userUrlEntityInserter, (object)e))
                ));
 }
示例#2
0
        public static async Task StoreUser(DatabaseUser user,
                                           IEnumerable <DatabaseUserDescriptionEntity> userDescriptionEntities,
                                           IEnumerable <DatabaseUserUrlEntity> userUrlEntities)
        {
            var batch = new UserInsertBatch
            {
                User = user,
                UserDescriptionEntities = userDescriptionEntities,
                UserUrlEntities         = userUrlEntities
            };

            await StoreUsers(new[] { batch });
        }
示例#3
0
 public static StatusInsertBatch CreateBatch(
     [NotNull] Tuple <DatabaseStatus, IEnumerable <DatabaseStatusEntity> > status,
     [NotNull]
     Tuple <DatabaseUser, IEnumerable <DatabaseUserDescriptionEntity>, IEnumerable <DatabaseUserUrlEntity> > user,
     [CanBeNull]
     Tuple <DatabaseUser, IEnumerable <DatabaseUserDescriptionEntity>, IEnumerable <DatabaseUserUrlEntity> >
     recipient)
 {
     if (status == null)
     {
         throw new ArgumentNullException(nameof(status));
     }
     if (user == null)
     {
         throw new ArgumentNullException(nameof(user));
     }
     return(new StatusInsertBatch
     {
         Status = status.Item1,
         StatusEntities = status.Item2,
         UserInsertBatch = UserInsertBatch.CreateBatch(user),
         RecipientInsertBatch = recipient != null?UserInsertBatch.CreateBatch(recipient) : null
     });
 }
示例#4
0
 public StatusInsertBatch()
 {
     UserInsertBatch = new UserInsertBatch();
 }
示例#5
0
 public StatusInsertBatch()
 {
     UserInsertBatch = new UserInsertBatch();
 }
示例#6
0
 private static IEnumerable<Tuple<string, object>> CreateQuery(UserInsertBatch batch)
 {
     return EnumerableEx.Concat(
         new[] { Tuple.Create(_userInserter, (object)batch.User) },
         new[] { _userDescEntityCrud.CreateDeleter(batch.User.Id) },
         batch.UserDescriptionEntities.Select(e => Tuple.Create(_userDescEntityInserter, (object)e)),
         new[] { _userUrlEntityCrud.CreateDeleter(batch.User.Id) },
         batch.UserUrlEntities.Select(e => Tuple.Create(_userUrlEntityInserter, (object)e))
         );
 }
示例#7
0
 public static async Task StoreUser(DatabaseUser user,
     IEnumerable<DatabaseUserDescriptionEntity> userDescriptionEntities,
     IEnumerable<DatabaseUserUrlEntity> userUrlEntities)
 {
     var batch = new UserInsertBatch
     {
         User = user,
         UserDescriptionEntities = userDescriptionEntities,
         UserUrlEntities = userUrlEntities
     };
     await StoreUsers(new[] { batch });
 }
示例#8
0
 public StatusInsertBatch()
 {
     UserInsertBatch      = new UserInsertBatch();
     RecipientInsertBatch = null;
 }