public int CreateForumItem(int eventId, string forumItemText, int creatorId) { if (creatorId <= 0) throw new Exception("Nepříhlášený uživatel nemá právo vytvářet příspěvky ve fóru! (systémové omezení)"); using (var context = new OpletalovaDbEntities()) { var user = context.USER.FirstOrDefault(u => u.Id == creatorId); if (user == null) throw new Exception("Uživatel nenalezen (příspěvek nelze vytvořit!)"); var evnt = context.EVENT.FirstOrDefault(e => e.Id == eventId); if (evnt == null) throw new Exception("Událost nanalezena (příspěvek nelze vytvořit!)"); var forumItem = new FORUM_ITEM() { EVENT = evnt, USER = user, CreatorId = user.Id, Message = forumItemText, EventId = evnt.Id, Created = DateTime.Now }; context.FORUM_ITEM.Add(forumItem); context.SaveChanges(); return forumItem.Id; } }
public void RestoreDatabaseToDefaultValues() { using (var context = new OpletalovaDbEntities()) { context.RESTORE_DB_TO_DEFAULT(); context.SaveChanges(); } }
public void CreateGroup(GROUP group) { using (var context = new OpletalovaDbEntities()) { context.GROUP.Add(group); context.SaveChanges(); } }
public void DeleteForumItem(int forumItemId) { using (var context = new OpletalovaDbEntities()) { var forumItem = context.FORUM_ITEM.FirstOrDefault(f => f.Id == forumItemId); if (forumItem == null) return; context.FORUM_ITEM.Remove(forumItem); context.SaveChanges(); } }
public void DeleteFile(int fileId) { using (var context = new OpletalovaDbEntities()) { var fileContent = context.FILE_CONTENT.FirstOrDefault(f => f.FileInfoId == fileId); var fileInfo = context.FILE_INFO.FirstOrDefault(f => f.Id == fileId); if (fileContent != null) context.FILE_CONTENT.Remove(fileContent); if (fileInfo != null) context.FILE_INFO.Remove(fileInfo); context.SaveChanges(); } }
public void DeleteGroupById(int id) { using (var context = new OpletalovaDbEntities()) { var group = context.GROUP .Include(g => g.USER) .Include(g => g.RIGHT) .FirstOrDefault(g => g.Id == id); if (group == null) throw new Exception("Skupina již v DB neexistuje"); context.GROUP.Remove(group); context.SaveChanges(); } }
public int CreateEvent(EVENT newEvent) { if (newEvent.Creator <= 0) throw new Exception("Nepřihlášený uživatel nemůže vytvářet události! (Sytémové omezení)"); using (var context = new OpletalovaDbEntities()) { newEvent.USER = context.USER.First(u => u.Id == newEvent.USER.Id); newEvent.EVENT_TYPE = context.EVENT_TYPE.First(t => t.Id == newEvent.EVENT_TYPE.Id); newEvent.EVENT_ACCESSIBILITY = context.EVENT_ACCESSIBILITY.First(a => a.Id == newEvent.EVENT_ACCESSIBILITY.Id); context.EVENT.Add(newEvent); context.SaveChanges(); return newEvent.Id; } }
public void DeleteAllEventFiles(int eventId) { using (var context = new OpletalovaDbEntities()) { var dbEvent = context.EVENT .Include(e => e.FILE_INFO) .FirstOrDefault(e => e.Id == eventId); if (dbEvent == null) return; while (dbEvent.FILE_INFO.Any()) { context.FILE_INFO.Remove(dbEvent.FILE_INFO.First()); } context.SaveChanges(); } }
public void DeleteEventById(int id) { using (var context = new OpletalovaDbEntities()) { Locator.GetDbFileManager().DeleteAllEventFiles(id); var delEvent = context.EVENT .Include(e => e.FILE_INFO) .Include(e => e.FORUM_ITEM) .Include(e => e.USER_LAST_FORUM_ITEM) .FirstOrDefault(e => e.Id == id); if (delEvent == null) return; context.EVENT.Remove(delEvent); context.SaveChanges(); } }
public void UpdateForumItem(int forumItemId, string forumItemText, int creatorId) { if (creatorId <= 0) throw new Exception("Nepříhlášený uživatel nemá právo aktualizovat příspěvky ve fóru! (systémové omezení)"); using (var context = new OpletalovaDbEntities()) { var forumItem = context.FORUM_ITEM.FirstOrDefault(x => x.Id == forumItemId); if (forumItem == null) throw new Exception("Příspěvek nenalezen (nelze aktualizovat!)"); var user = context.USER.FirstOrDefault(u => u.Id == creatorId); if (user == null) throw new Exception("Uživatel nenalezen (příspěvek nelze aktualizovat!)"); forumItem.USER = user; forumItem.Message = forumItemText; context.SaveChanges(); } }
public void SetLastVisitedForumItemId(int loggedUserId, int eventId, int forumItemId = -1) { // when nobody is logged in (public person) than we do not insert record to remember which forum item was last visited! using (var context = new OpletalovaDbEntities()) { // when we set forumItemId to -1 it means that we want to set last forum item for currently logged user // but if there is not any forum item we should set 0 if (forumItemId < 0) { var forumItem = context.FORUM_ITEM.Where(fi => fi.EventId == eventId) .OrderByDescending(fi => fi.Id) .FirstOrDefault(); forumItemId = forumItem == null ? 0 : forumItem.Id; } var lastVisitedForumItem = context.USER_LAST_FORUM_ITEM.FirstOrDefault(x => x.UserId == loggedUserId && x.EventId == eventId); if (lastVisitedForumItem == null) { var evnt = context.EVENT.First(e => e.Id == eventId); var user = context.USER.First(u => u.Id == loggedUserId); lastVisitedForumItem = new USER_LAST_FORUM_ITEM() { EVENT = evnt, USER = user, EventId = evnt.Id, UserId = user.Id, LastViewedForumItemId = forumItemId }; context.USER_LAST_FORUM_ITEM.Add(lastVisitedForumItem); } else { lastVisitedForumItem.LastViewedForumItemId = forumItemId; } context.SaveChanges(); } }
public void UpdateEvent(EVENT updEvent) { using (var context = new OpletalovaDbEntities()) { var dbEvent = context.EVENT.First(e => e.Id == updEvent.Id); dbEvent.Created = updEvent.Created; dbEvent.Creator = updEvent.Creator; dbEvent.From = updEvent.From; dbEvent.Name = updEvent.Name; dbEvent.Text = updEvent.Text; dbEvent.To = updEvent.To; dbEvent.Type = updEvent.EVENT_TYPE.Id; dbEvent.Accessibility = updEvent.EVENT_ACCESSIBILITY.Id; if (updEvent.FILE_INFO != null) dbEvent.FILE_INFO = updEvent.FILE_INFO; context.SaveChanges(); } }
public void UpdateUser2Group(List<GroupItemSetting> usrs2Groups) { using (var context = new OpletalovaDbEntities()) { foreach (var groupSetting in usrs2Groups) { var dbGroup = context.GROUP.Include(u => u.USER).FirstOrDefault(g => g.Id == groupSetting.GroupId); if (dbGroup == null) continue; foreach (var userSetting in groupSetting.GroupUserListSetting) { var dbUser = context.USER.FirstOrDefault(u => u.Id == userSetting.ItemId); if (dbUser == null) continue; var isUserInGroup = dbGroup.USER.FirstOrDefault(u => u.Id == dbUser.Id) != null; if (userSetting.IsInGroup) { if (isUserInGroup) continue; dbUser.GROUP.Add(dbGroup); dbGroup.USER.Add(dbUser); } else { if (!isUserInGroup) continue; dbUser.GROUP.Add(dbGroup); dbGroup.USER.Remove(dbUser); } } } context.SaveChanges(); } }
public void UpdateRight2Group(List<GroupItemSetting> rights2Groups) { using (var context = new OpletalovaDbEntities()) { foreach (var groupSetting in rights2Groups) { var dbGroup = context.GROUP.Include(r => r.RIGHT).FirstOrDefault(g => g.Id == groupSetting.GroupId); if (dbGroup == null) continue; foreach (var rightSetting in groupSetting.GroupUserListSetting) { var dbRight = context.RIGHT.FirstOrDefault(r => r.Id == rightSetting.ItemId); if (dbRight == null) continue; var isUserInGroup = dbGroup.RIGHT.FirstOrDefault(r => r.Id == dbRight.Id) != null; if (rightSetting.IsInGroup) { if (isUserInGroup) continue; dbRight.GROUP.Add(dbGroup); dbGroup.RIGHT.Add(dbRight); } else { if (!isUserInGroup) continue; dbRight.GROUP.Add(dbGroup); dbGroup.RIGHT.Remove(dbRight); } } } context.SaveChanges(); } }
public void UpdateGroupName(GROUP group) { using (var context = new OpletalovaDbEntities()) { var dbGroup = context.GROUP.First(g => g.Id == group.Id); dbGroup.GroupName = group.GroupName; context.SaveChanges(); } }