public void SaveChanges() { using (var db = new Database.NPGuildEntities()) { var allEventIds = db.Events.Select(f => f.EventId); var recsToRemove = new List <int>(); foreach (var id in allEventIds) { if (!Events.Any(f => f.EventId == id)) { recsToRemove.Add(id); } } foreach (var id in recsToRemove) { var rec = db.Events.Find(id); rec.Removed = true; db.SaveChanges(); } db.SaveChanges(); foreach (var item in Events) { if (item.EventId > 0) { var rec = db.Events.Find(item.EventId); rec.Start = item.StartDate.Value; rec.End = item.EndDate.Value; rec.Description = item.Description; rec.Leader = item.Leader; db.SaveChanges(); } else { var rec = new Database.Event() { Start = item.StartDate.Value, End = item.EndDate.Value, Description = item.Description, Leader = item.Leader, Removed = false }; db.Events.Add(rec); db.SaveChanges(); item.EventId = rec.EventId; } } } }
public void Delete() { using (var db = new Database.NPGuildEntities()) { var post = db.Posts.Find(PostId); post.Removed = true; db.SaveChanges(); } }
/// <summary> /// Creates a new member from the current state of the model. /// </summary> /// /// <returns> /// Returns the database id of the member. /// </returns> /// public int CreateMember() { using (var db = new Database.NPGuildEntities()) { if (db.Users.Any(f => f.Email == Email)) { throw new Exception("There is already a member with that email!"); } var member = new Database.User() { Email = Email, CharacterName = CharacterName, UserLevelId = 1 // Guest }; member.PasswordSalt = GenerateSalt(); member.Password = ComputeHMAC_SHA256(Password, member.PasswordSalt); db.Users.Add(member); db.SaveChanges(); var forumUser = new Database.ForumUser() { UserName = CharacterName, Email = Email, Password = System.Text.Encoding.Unicode.GetString(member.Password), RegistrationDate = DateTime.UtcNow, Disabled = false, ActivationCode = string.Empty }; db.ForumUsers.Add(forumUser); db.SaveChanges(); return(member.UserId); } }
public int UpdatePost() { using (var db = new Database.NPGuildEntities()) { var post = db.Posts.Find(PostId); post.Content = Content; post.Title = Title; post.EditedDateTime = DateTime.UtcNow; post.Removed = false; db.SaveChanges(); return(post.PostId); } }
public int CreatePost() { using (var db = new Database.NPGuildEntities()) { var post = new Database.Post() { TimeStamp = DateTime.UtcNow, Content = Content, AuthorId = Resources.MySession.UserId.Value, Title = Title, Removed = false }; db.Posts.Add(post); db.SaveChanges(); return(post.PostId); } }