Exemple #1
0
        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();
     }
 }
Exemple #3
0
 public void CreateGroup(GROUP group)
 {
     using (var context = new OpletalovaDbEntities())
     {
         context.GROUP.Add(group);
         context.SaveChanges();
     }
 }
Exemple #4
0
        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();
            }
        }
Exemple #5
0
        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();
            }
        }
Exemple #6
0
        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();
            }
        }
Exemple #7
0
        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;
            }
        }
Exemple #8
0
        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();
            }
        }
Exemple #9
0
        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();
            }
        }
Exemple #10
0
        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();
            }
        }
Exemple #11
0
        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();
            }
        }
Exemple #12
0
        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();
            }
        }
Exemple #13
0
        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();
            }
        }
Exemple #14
0
        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();
            }
        }
Exemple #15
0
        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();
            }
        }