/// <summary> /// Creates an event with the given user specified as host. /// </summary> public Event CreateEvent(Event e, UserAccount host) { DisplayIDProvider.InjectDisplayId(e); context.Events.Add(e); context.SaveChanges(); RegisterUserAsHost(host, e); return(e); }
/// <summary> /// Adds a vote from the specified user to the specified entry. /// </summary> public Vote AddVote(Entry entry, UserAccount user) { Vote vote = new Vote { Entry = entry, User = user, VoteDate = DateTime.UtcNow }; _context.Votes.Add(vote); _context.SaveChanges(); return(vote); }
/// <summary> /// Creates a new entry for the specified event, from the given user account. /// <para>Note that this method only creates the database entry.</para> /// </summary> public Entry CreateEntry(Event ev, UserAccount user, EntryType type, string content) { Entry entry = new Entry { Event = ev, Author = user, EntryType = type, Content = content, SubmitDate = DateTime.UtcNow }; DisplayIDProvider.InjectDisplayId(entry); context.Entries.Add(entry); context.SaveChanges(); return(entry); }
/// <summary> /// Registers a user via an authorization service. /// </summary> public Authorization AddAuthorizedUser(UserAccount user, string serviceUserId, Service serviceType) { Authorization authorization = new Authorization() { User = user, ServiceUserID = ComputeSha256Hash(serviceUserId), Service = serviceType, Valid = true }; context.Authorizations.Add(authorization); context.SaveChanges(); return(authorization); }
/// <summary> /// Creates a new user account with the specified username. /// </summary> public UserAccount NewUser(string username) { UserAccount user = new UserAccount() { Username = username, Permissions = GlobalPermissions.Default, JoinDate = DateTime.UtcNow }; DisplayIDProvider.InjectDisplayId(user); _context.UserAccounts.Add(user); _context.SaveChanges(); return(user); }