/// <summary> /// Add a new user to the database. /// </summary> /// <param name="user">The user to add.</param> public async Task Add(User user) { user.Id = await Connection.QueryFirstOrDefaultAsync <int>( @"INSERT INTO ""User"" (Username, Email, PasswordHash, JoinedDate, PostKarma, CommentKarma) VALUES (@Username, @Email, @PasswordHash, @JoinedDate, @PostKarma, @CommentKarma) RETURNING Id;", userMapper.Reverse(user) ); }
public Tuple <SubscriptionRecord, UserRecord, Tuple <SpaceRecord, UserRecord> > Reverse(Subscription destination) { return(Tuple.Create( new SubscriptionRecord() { Id = destination.Id, SpaceId = destination.Space.Id, UserId = destination.User.Id }, _userRecordMapper.Reverse(destination.User), _spaceRecordMapper.Reverse(destination.Space) )); }
public Tuple <VoteRecord, UserRecord> Reverse(Vote destination) { VoteRecord voteRec = new VoteRecord() { Id = destination.Id, UserId = destination.User.Id, ResourceId = destination.ResourceId, ResourceType = destination.ResourceType, Direction = destination.Direction }; UserRecord userRecord = userRecordMapper.Reverse(destination.User); return(Tuple.Create <VoteRecord, UserRecord>(voteRec, userRecord)); }
/// <summary> /// Reverse the entity back into it's record. /// </summary> /// <param name="destination">The entity to deconvert.</param> /// <returns>The rebuilt record.</returns> public Tuple <SpaceRecord, UserRecord> Reverse(Space destination) { SpaceRecord r = new SpaceRecord() { Id = destination.Id, Name = destination.Name, Description = destination.Description, CreationDate = destination.CreationDate, SubscriptionCount = destination.SubscriptionCount, IsDefault = destination.IsDefault, UserId = destination.User.Id }; UserRecord u = userRecordMapper.Reverse(destination.User); return(Tuple.Create(r, u)); }
/// <summary> /// Convert the post back into it's record form. /// </summary> /// <param name="destination">The entity/</param> /// <returns>The rebuilt record.</returns> public Tuple <PostRecord, UserRecord, Tuple <SpaceRecord, UserRecord> > Reverse(Post destination) { PostRecord p = new PostRecord { Id = destination.Id, UserId = destination.User.Id, Type = destination.Type, Title = destination.Title, Body = destination.Body, CreationDate = destination.CreationDate, WasUpdated = destination.WasUpdated, WasDeleted = destination.WasDeleted, CommentCount = destination.CommentCount, Upvotes = destination.Upvotes, Downvotes = destination.Downvotes, SpaceId = destination.Space.Id }; UserRecord u = userMapper.Reverse(destination.User); Tuple <SpaceRecord, UserRecord> s = spaceMapper.Reverse(destination.Space); return(Tuple.Create(p, u, s)); }