/// <summary> /// Delete Dynamic Parent Items Status by pageId and roleId /// </summary> /// <param name="pageId">Int32:pageId</param> /// <param name="roleId">Int32:roleId</param> public void DeleteDynamicParentItemsStatus(int pageId, int roleId) { PageInfoDTO page = GetPageDetailsByPageId(pageId); if (pageId != 0) { List<PageInfoDTO> lstPageInfoDTO = new List<PageInfoDTO>(); List<PagesInRoleDTO> lstPageInRole = new List<PagesInRoleDTO>(); AutoMapper.Mapper.Map(ESalesUnityContainer.Container.Resolve<IGenericRepository<pagesinrole>>().GetQuery().Where(item => item.Page_Role_IsActive == true && item.Page_Role_IsDeleted == false && item.Page_Role_RoleId == roleId && item.Page_Role_PageId != pageId), lstPageInRole); List<pageinfo> lstPageInfoEntity = ESalesUnityContainer.Container.Resolve<IGenericRepository<pageinfo>>().GetQuery() .Where(item => item.Page_ParentPageLevelId == page.Page_ParentPageLevelId && item.Page_IsActive == true && item.Page_IsDeleted == false) .OrderBy(item => item.Page_Level).ToList(); AutoMapper.Mapper.Map(lstPageInfoEntity, lstPageInfoDTO); List<pageinfo> result = new List<pageinfo>(); result = (from pg in lstPageInfoEntity where (from role in lstPageInRole select role.Page_Role_PageId).Contains(pg.Page_Id) select pg).ToList(); if (result.Count == 0) { PagesInRoleDTO pageRoleDetails = GetPageDetailsByParentPageIdNRoleId(page.Page_ParentPageLevelId, roleId); pageRoleDetails.Page_Role_IsDeleted = true; pageRoleDetails.Page_Role_LastUpdatedDate = DateTime.Now; pagesinrole pageInRoleEntity = new pagesinrole(); AutoMapper.Mapper.Map(pageRoleDetails, pageInRoleEntity); ESalesUnityContainer.Container.Resolve<IGenericRepository<pagesinrole>>().Update(pageInRoleEntity); DeleteDynamicParentItemsStatus(page.Page_ParentPageLevelId, roleId); } } }
/// <summary> /// Delete Pages From Role by pageRoleId and loggedInUserId /// </summary> /// <param name="pageRoleId">int32:pageRoleId</param> /// <param name="loggedInUserId">int32:loggedInUserId</param> public void DeletePagesFromRole(int pageRoleId, int loggedInUserId) { PagesInRoleDTO pageRoleDTO = GetPageRoleDetailsByPageRoleId(pageRoleId); pageRoleDTO.Page_Role_IsDeleted = true; pageRoleDTO.Page_Role_CreatedBy = loggedInUserId; pageRoleDTO.Page_Role_CreatedDate = DateTime.Now; pagesinrole pageRoleEntity = new pagesinrole(); AutoMapper.Mapper.Map(pageRoleDTO, pageRoleEntity); ESalesUnityContainer.Container.Resolve<IGenericRepository<pagesinrole>>().Update(pageRoleEntity); DeleteDynamicParentItemsStatus(pageRoleDTO.Page_Role_PageId, pageRoleDTO.Page_Role_RoleId); }
/// <summary> /// Add Dynamic Parent Items by pageId,roleId and isActive /// </summary> /// <param name="pageId">Int32:pageId</param> /// <param name="roleId">Int32:roleId</param> /// <param name="isActive">Bool:isActive</param> private void AddDynamicParentItems(int pageId, int roleId,bool isActive) { PageInfoDTO page = GetPageDetailsByPageId(pageId); if (page.Page_ParentPageLevelId > 0) { PagesInRoleDTO pageRoleDetails = GetPageDetailsByParentPageIdNRoleId(page.Page_ParentPageLevelId, roleId); PagesInRoleDTO parentPagesDetails = new PagesInRoleDTO(); pagesinrole parentPagesEntity = new pagesinrole(); parentPagesDetails.Page_Role_PageId = page.Page_ParentPageLevelId; parentPagesDetails.Page_Role_IsActive = isActive; parentPagesDetails.Page_Role_RoleId = roleId; parentPagesDetails.Page_Role_CreatedDate = DateTime.Now; AutoMapper.Mapper.Map(parentPagesDetails, parentPagesEntity); if (pageRoleDetails.Page_Role_PageId == 0) { ESalesUnityContainer.Container.Resolve<IGenericRepository<pagesinrole>>().Save(parentPagesEntity); } AddDynamicParentItems(page.Page_ParentPageLevelId, roleId,page.Page_IsActive); UpdateDynamicParentItemsStatus(pageId, roleId, isActive); } }
/// <summary> /// Update Page Status by pageId,loggedInUserId,roleId and isPageActive /// </summary> /// <param name="pageId">Int32:pageId</param> /// <param name="loggedInUserId">int32:loggedInUserId</param> /// <param name="roleId">int32:roleId</param> /// <param name="isPageActive">bool:isPageActive</param> public void UpdatePageStatus(int pageId, int loggedInUserId, int roleId, bool isPageActive) { PagesInRoleDTO pageInRoleDetails = GetPageDetailsByParentPageIdNRoleId(pageId, roleId); pageInRoleDetails.Page_Role_IsActive = isPageActive; pageInRoleDetails.Page_Role_CreatedBy = loggedInUserId; pageInRoleDetails.Page_Role_CreatedDate= DateTime.Now; pagesinrole pageInRoleEntity = new pagesinrole(); AutoMapper.Mapper.Map(pageInRoleDetails, pageInRoleEntity); ESalesUnityContainer.Container.Resolve<IGenericRepository<pagesinrole>>().Update(pageInRoleEntity); UpdateDynamicParentItemsStatus (pageId, roleId, isPageActive); }
/// <summary> /// Add Pages To Roles /// </summary> /// <param name="pagesInRolesDetails"></param> public void AddPagesToRoles(PagesInRoleDTO pagesInRolesDetails) { using (TransactionScope transactionScope = new TransactionScope()) { pagesinrole pagesInRoleEntity = new pagesinrole(); AutoMapper.Mapper.Map(pagesInRolesDetails, pagesInRoleEntity); ESalesUnityContainer.Container.Resolve<IGenericRepository<pagesinrole>>().Save(pagesInRoleEntity); AddDynamicParentItems(pagesInRolesDetails.Page_Role_PageId, pagesInRolesDetails.Page_Role_RoleId, pagesInRolesDetails.Page_Role_IsActive); transactionScope.Complete(); } }