예제 #1
0
        private void UpdateMenuItemLocalisations(WeapsyDbContext context, Guid menuItemId, IEnumerable <MenuItemLocalisationDbEntity> menuItemLocalisations)
        {
            var currentMenuItemLocalisations = context.MenuItemLocalisations
                                               .AsNoTracking()
                                               .Where(x => x.MenuItemId == menuItemId)
                                               .ToList();

            foreach (var currentMenuItemLocalisation in currentMenuItemLocalisations)
            {
                var menuItemLocalisation = menuItemLocalisations
                                           .FirstOrDefault(x => x.MenuItemId == currentMenuItemLocalisation.MenuItemId &&
                                                           x.LanguageId == currentMenuItemLocalisation.LanguageId);

                if (menuItemLocalisation == null)
                {
                    context.Remove(currentMenuItemLocalisation);
                }
            }

            foreach (var menuItemLocalisation in menuItemLocalisations)
            {
                var currentMenuItemLocalisation = context.MenuItemLocalisations.AsNoTracking()
                                                  .FirstOrDefault(x => x.MenuItemId == menuItemLocalisation.MenuItemId &&
                                                                  x.LanguageId == menuItemLocalisation.LanguageId);

                if (currentMenuItemLocalisation == null)
                {
                    context.Add(menuItemLocalisation);
                }
                else
                {
                    context.Entry(menuItemLocalisation).State = EntityState.Modified;
                }
            }
        }
예제 #2
0
        private void UpdateMenuItems(WeapsyDbContext context, IEnumerable <MenuItemDbEntity> menuItemDbEntities)
        {
            foreach (var menuItemDbEntity in menuItemDbEntities)
            {
                var currentMenuItem = context.MenuItems.AsNoTracking().FirstOrDefault(x => x.Id == menuItemDbEntity.Id);

                if (currentMenuItem == null)
                {
                    context.Add(menuItemDbEntity);
                }
                else
                {
                    context.Entry(menuItemDbEntity).State = EntityState.Modified;
                    UpdateMenuItemLocalisations(context, currentMenuItem.Id, menuItemDbEntity.MenuItemLocalisations);
                    UpdateMenuItemPermissions(context, currentMenuItem.Id, menuItemDbEntity.MenuItemPermissions);
                }
            }
        }
예제 #3
0
        private void UpdateMenuItemLocalisations(WeapsyDbContext context, IEnumerable <MenuItemLocalisationDbEntity> menuItemLocalisationDbEntities)
        {
            foreach (var menuItemLocalisationDbEntity in menuItemLocalisationDbEntities)
            {
                var currentMenuItemLocalisation = context.MenuItemLocalisations.AsNoTracking()
                                                  .FirstOrDefault(x => x.MenuItemId == menuItemLocalisationDbEntity.MenuItemId &&
                                                                  x.LanguageId == menuItemLocalisationDbEntity.LanguageId);

                if (currentMenuItemLocalisation == null)
                {
                    context.Add(menuItemLocalisationDbEntity);
                }
                else
                {
                    context.Entry(menuItemLocalisationDbEntity).State = EntityState.Modified;
                }
            }
        }
예제 #4
0
        private void UpdatePageModuleLocalisations(WeapsyDbContext context, IEnumerable <PageModuleLocalisationDbEntity> pageModuleLocalisations)
        {
            foreach (var pageModuleLocalisation in pageModuleLocalisations)
            {
                var currentPageModuleLocalisation = context.Set <PageModuleLocalisationDbEntity>()
                                                    .AsNoTracking()
                                                    .FirstOrDefault(x =>
                                                                    x.PageModuleId == pageModuleLocalisation.PageModuleId &&
                                                                    x.LanguageId == pageModuleLocalisation.LanguageId);

                if (currentPageModuleLocalisation == null)
                {
                    context.Add(pageModuleLocalisation);
                }
                else
                {
                    context.Entry(pageModuleLocalisation).State = EntityState.Modified;
                }
            }
        }
예제 #5
0
        private void UpdateSiteLocalisations(WeapsyDbContext context, IEnumerable <SiteLocalisationDbEntity> siteLocalisations)
        {
            foreach (var siteLocalisation in siteLocalisations)
            {
                var currentSiteLocalisation = context.Set <SiteLocalisationDbEntity>()
                                              .AsNoTracking()
                                              .FirstOrDefault(x =>
                                                              x.SiteId == siteLocalisation.SiteId &&
                                                              x.LanguageId == siteLocalisation.LanguageId);

                if (currentSiteLocalisation == null)
                {
                    context.Add(siteLocalisation);
                }
                else
                {
                    context.Entry(siteLocalisation).State = EntityState.Modified;
                }
            }
        }
예제 #6
0
        private void UpdatePageModules(WeapsyDbContext context, IEnumerable <PageModuleDbEntity> pageModules)
        {
            foreach (var pageModule in pageModules)
            {
                var currentPageModule = context.Set <PageModuleDbEntity>()
                                        .AsNoTracking()
                                        .FirstOrDefault(x =>
                                                        x.ModuleId == pageModule.ModuleId &&
                                                        x.PageId == pageModule.PageId);

                if (currentPageModule == null)
                {
                    context.Add(pageModule);
                }
                else
                {
                    context.Entry(pageModule).State = EntityState.Modified;
                    UpdatePageModuleLocalisations(context, pageModule.PageModuleLocalisations);
                    UpdatePageModulePermissions(context, pageModule.Id, pageModule.PageModulePermissions);
                }
            }
        }
예제 #7
0
        private void UpdatePageModuleLocalisations(WeapsyDbContext context, Guid pageModuleId, IEnumerable <PageModuleLocalisationDbEntity> pageModuleLocalisations)
        {
            var currentPageModuleLocalisations = context.PageModuleLocalisations
                                                 .AsNoTracking()
                                                 .Where(x => x.PageModuleId == pageModuleId)
                                                 .ToList();

            foreach (var currentPageModuleLocalisation in currentPageModuleLocalisations)
            {
                var pageModuleLocalisation = pageModuleLocalisations
                                             .FirstOrDefault(x => x.PageModuleId == currentPageModuleLocalisation.PageModuleId &&
                                                             x.LanguageId == currentPageModuleLocalisation.LanguageId);

                if (pageModuleLocalisation == null)
                {
                    context.Remove(currentPageModuleLocalisation);
                }
            }

            foreach (var pageModuleLocalisation in pageModuleLocalisations)
            {
                var currentPageModuleLocalisation = context.PageModuleLocalisations
                                                    .AsNoTracking()
                                                    .FirstOrDefault(x =>
                                                                    x.PageModuleId == pageModuleLocalisation.PageModuleId &&
                                                                    x.LanguageId == pageModuleLocalisation.LanguageId);

                if (currentPageModuleLocalisation == null)
                {
                    context.Add(pageModuleLocalisation);
                }
                else
                {
                    context.Entry(pageModuleLocalisation).State = EntityState.Modified;
                }
            }
        }
예제 #8
0
        private void UpdateSiteLocalisations(WeapsyDbContext context, Guid siteId, IEnumerable <SiteLocalisationDbEntity> siteLocalisations)
        {
            var currentSiteLocalisations = context.SiteLocalisations
                                           .AsNoTracking()
                                           .Where(x => x.SiteId == siteId)
                                           .ToList();

            foreach (var currentSiteLocalisation in currentSiteLocalisations)
            {
                var siteLocalisation = siteLocalisations
                                       .FirstOrDefault(x => x.LanguageId == currentSiteLocalisation.LanguageId);

                if (siteLocalisation == null)
                {
                    context.Remove(currentSiteLocalisation);
                }
            }

            foreach (var siteLocalisation in siteLocalisations)
            {
                var currentSiteLocalisation = context.SiteLocalisations
                                              .AsNoTracking()
                                              .FirstOrDefault(x =>
                                                              x.SiteId == siteLocalisation.SiteId &&
                                                              x.LanguageId == siteLocalisation.LanguageId);

                if (currentSiteLocalisation == null)
                {
                    context.Add(siteLocalisation);
                }
                else
                {
                    context.Entry(siteLocalisation).State = EntityState.Modified;
                }
            }
        }