Ejemplo n.º 1
0
        public async Task <IList <EmployeePermissionShip> > RetrieveAsync(EmployeePermissionShipQueryParameter param)
        {
            Expression <Func <EmployeePermissionShip, bool> > query = null;

            if (param == null && param.RoleId != null && param.EmployeeId != null)
            {
                query = e => e.RoleId == param.RoleId.Value && e.EmployeeId == param.EmployeeId.Value;
            }
            else if (param == null && param.RoleId != null)
            {
                query = e => e.RoleId == param.RoleId.Value;
            }
            else if (param == null && param.EmployeeId != null)
            {
                query = e => e.EmployeeId == param.EmployeeId.Value;
            }
            else
            {
                query = e => true;
            }

            var list = (await base.SelectAsync(query)).ToList();

            return(list);
        }
Ejemplo n.º 2
0
        public async Task <IPaged <EmployeePermissionShip> > PagedAsync(EmployeePermissionShipQueryParameter param, int pageIndex, int pageSize)
        {
            //if (param == null)
            //    throw new ArgumentNullException(nameof(param));
            //if (param.RoleId == null || param.EmployeeId == null)
            //    throw new ArgumentNullException(($"{nameof(param.RoleId)} & {nameof(param.EmployeeId)}"));

            Expression <Func <EmployeePermissionShip, bool> > query = null;

            if (param != null && param.RoleId != null && param.EmployeeId != null)
            {
                query = e => e.RoleId == param.RoleId.Value && e.EmployeeId == param.EmployeeId.Value;
            }
            else if (param != null && param.RoleId != null)
            {
                query = e => e.RoleId == param.RoleId.Value;
            }
            else if (param != null && param.EmployeeId != null)
            {
                query = e => e.EmployeeId == param.EmployeeId.Value;
            }
            else
            {
                query = e => true;
            }

            var result = await base.PagedAsync(query, pageIndex, pageSize);

            return(result);
        }