/// <summary> /// Clears the references of the user name. /// </summary> /// <param name="userName">The user name.</param> /// <returns>A copy of the user name given in entry with only the references.</returns> private static Entites.UserName ClearReferences(Entites.UserName userName) { Entites.UserName reference = new Entites.UserName(null, null, null, true, DateTime.MinValue, userName.OwnedBy); userName.OwnedBy = null; return(reference); }
/// <summary> /// Creates the specified user name. /// </summary> /// <param name="userName">The user name.</param> /// <returns>The same user name with the id updated.</returns> public static Entites.UserName Create(Entites.UserName userName) { Entites.UserName reference = ClearReferences(userName); using (TerministratorContext context = new TerministratorContext(true)) { userName.UserNameId = context.UserName.Add(userName).UserNameId; context.SaveChanges(); } return(AddReferences(userName, reference)); }
/// <summary> /// Updates the specified user. /// </summary> /// <param name="iUser">The iuser.</param> /// <param name="user">The user.</param> /// <returns>The same user reference, but updated.</returns> public static Entites.User Update(IUser iUser, Entites.User user) { DAL.User.LoadUserNames(user); Entites.UserName userName = UserName.ExtractUserName(iUser, user); if (user.UserNames.All(x => x.ToString() != userName.ToString())) { UserName.UpdateUserName(userName); } return(user); }
/// <summary> /// Updates the specified channel. /// </summary> /// <param name="iChannel">The ichannel to take the information from.</param> /// <param name="channel">The channel to update.</param> /// <returns>The second arguement, but updated.</returns> public static Entites.Channel Update(IChannel iChannel, Entites.Channel channel) { DAL.Channel.LoadUserNames(channel); Entites.UserName userName = UserName.ExtractUserName(iChannel, channel); if (channel.UserNames.All(x => x.ToString() != userName.ToString())) { UserName.UpdateUserName(userName); } return(channel); }
/// <summary> /// Loads the owner of the user name. /// </summary> /// <param name="userName">The user name.</param> /// <returns>The same user name but with the owner referenced.</returns> public static Entites.UserName LoadOwnedBy(Entites.UserName userName) { using (TerministratorContext context = new TerministratorContext(true)) { if (userName.OwnedBy != null) { userName.OwnedBy = null; } if (context.Entry(userName).State == EntityState.Detached) { context.UserName.Attach(userName); } context.Entry(userName).Reference(p => p.OwnedBy).Load(); } return(userName); }
/// <summary> /// Adds the references of the second arguement in the first one. /// </summary> /// <param name="userName">The user to add the references in.</param> /// <param name="reference">The references.</param> /// <returns>The first arguement.</returns> private static Entites.UserName AddReferences(Entites.UserName userName, Entites.UserName reference) { userName.OwnedBy = reference.OwnedBy; return(userName); }
/// <summary> /// Switch the old user name to a non-default state and create this one. /// </summary> /// <param name="userName">The user name.</param> /// <returns>The same user name with an updated ID.</returns> public static Entites.UserName UpdateUserName(Entites.UserName userName) { DAL.UserName.UpdateUserName(userName.OwnedById); return(DAL.UserName.Create(userName)); }