예제 #1
0
        public object Get(ListComboDto request)
        {
            var comboList = this.Repository.GetListCombo(request);

            // ak nie je rola ESAM_ADMIN, vyber tenanta obmedzit na moj tenant
            if (request.KodPolozky == "cfe-def-ten-users" && Repository.Session.AdminLevel != AdminLevel.SysAdmin)
            {
                var myTenants = Repository.GetMyTenantsIDs().Select(t => t.ToString());

                if (request.Column == "tenantname")
                {
                    comboList = comboList.Where(cl => (cl as IEnumerable <KeyValuePair <string, object> >).Any(kp => kp.Key == "id" && myTenants.Contains(kp.Value.ToString()))).ToList();
                }
                if (request.Column == "username")
                {
                    var usersOnMyTenannts = Repository.GetMyTenantsUsersIDs().Select(t => t.ToString());
                    comboList = comboList.Where(cl => (cl as IEnumerable <KeyValuePair <string, object> >).Any(kp => kp.Key == "id" && usersOnMyTenannts.Contains(kp.Value.ToString()))).ToList();
                }
            }

            if (request.KodPolozky == "cfe-admin-users" && Repository.Session.AdminLevel != AdminLevel.SysAdmin)
            {
                if (request.Column == "parentfullname")
                {
                    var myTenantUsers = Repository.GetMyTenantsUsersIDs().Select(t => t.ToString());

                    comboList = comboList.Where(cl => (cl as IEnumerable <KeyValuePair <string, object> >).Any(kp => kp.Key == "id" && myTenantUsers.Contains(kp.Value.ToString()))).ToList();
                }
            }
            return(comboList);
        }
 public object Get(ListComboDto request)
 {
     return(this.Repository.GetListCombo(request));
 }