using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using FrameworkDAL.DTO.RoleVsMenu; using FrameworkDAL.Query.RoleVsMenu; using GB5Shared.DTO.Framework.Login; using GB5Shared.QueryExecutor; namespace FrameworkDAL.CustomCode.RoleVsMenu { public class RoleVsMenuDAL : IRoleVsMenuDAL { private readonly IQueryExecutor _queryExecutor; public RoleVsMenuDAL(IQueryExecutor queryExecutor) { _queryExecutor = queryExecutor; } public async Task DeleteRoleVsMenu(int RoleId, int ModuleId, LoginDTO LoginDTO) { try { string ssql = "DELETE FROM MROLEVSMENU WHERE ROLEID='" + RoleId + "' AND MENUID IN(SELECT DISTINCT MENUID FROM MMODULEVSMENU WHERE MODULEID='" + ModuleId + "' )"; return ssql; } catch (Exception) { throw; } } public async Task DeleteRoleVsMenuForRole(int RoleId, LoginDTO LoginDTO) { try { string ssql = "DELETE FROM MROLEVSMENU WHERE ROLEID='" + RoleId + "'"; return ssql; } catch (Exception) { throw; } } public async Task DeleteRoleVsMenuForMenu(int RoleId, int MenuId, LoginDTO LoginDTO) { try { string ssql = "DELETE FROM MROLEVSMENU WHERE ROLEID=" + RoleId + " AND MENUID = " + MenuId; return ssql; } catch (Exception) { throw; } } public async Task> GetExistingForModule(int RoleId, int ModuleId, LoginDTO LoginDTO) { var result = await _queryExecutor.QueryAsync( LoginDTO, RoleVsMenuQB.GET_EXISTING_ROLEVSMENU_FOR_MODULE, new { RoleId, ModuleId }); return result.ToList(); } public async Task> GetExistingForMenuIds(int RoleId, IEnumerable MenuIds, LoginDTO LoginDTO) { var ids = MenuIds.ToList(); if (ids.Count == 0) return new List(); var result = await _queryExecutor.QueryAsync( LoginDTO, RoleVsMenuQB.GET_EXISTING_ROLEVSMENU_FOR_MENUIDS, new { RoleId, MenuIds = ids }); return result.ToList(); } public async Task SaveRoleVsMenu(IEnumerableRoleVsMenuDTOs , LoginDTO LoginDTO) { try { string Sql = RoleVsMenuQB.SAVE_ROLEVSMENU; return await _queryExecutor.BulkInsertAsync(LoginDTO, Sql, RoleVsMenuDTOs); } catch (Exception) { throw; } } /// /// GetRoleVsMenu /// /// /// /// /// public async Task> GetRoleVsMenu(int RoleId, int ModuleId, LoginDTO LoginDTO) { try { string Sql = ""; Sql = RoleVsMenuQB.GET_ROLE_VS_MENU; var parameter = new { roleid = RoleId, moduleid = ModuleId }; List RoleVsMenuDTOs = (await _queryExecutor.QueryAsync(LoginDTO, Sql, parameter)).ToList(); List MenusRoleVsMenuDTOs = new List(); { string SqlMenufromrole1 = ""; SqlMenufromrole1 = RoleVsMenuQB.GET_MENU_FROM_MODULEMENU; if (RoleId == -1799999978 && LoginDTO.DatabaseName.ToLower() == "uscdevsys") { } else { SqlMenufromrole1 = SqlMenufromrole1 + " and menuset.ClientId=" + LoginDTO.ClientId; } var parameters = new { roleid = RoleId, moduleid = ModuleId }; MenusRoleVsMenuDTOs = (await _queryExecutor.QueryAsync(LoginDTO, SqlMenufromrole1, parameters)).ToList(); } for (int j = 0; j < MenusRoleVsMenuDTOs.Count; j++) { MenusRoleVsMenuDTOs[j].RoleVsMenuAllow = "222222"; RoleVsMenuDTOs.Add(MenusRoleVsMenuDTOs[j]); } //GenericLazy.Commit(); return RoleVsMenuDTOs; } catch (Exception) { throw; } } } }