示例#1
0
        static void Main(string[] args)
        {
            DbUserInRoleContext context = new DbUserInRoleContext();


            var U = context.Users.Local;

            foreach (var item in U)
            {
                Console.WriteLine(U.Count);
            }
            //SqlParameter parameter = new SqlParameter("@role", "manager");



            //	var usersONtitels = context.Database.SqlQuery<ResulFunc>("select* from UsersByRoleFunc3('@role')", parameter);

            //	Console.WriteLine("Mенеджери:");
            //	foreach(var i in usersONtitels)
            //		{

            //		Console.WriteLine($"{i.UserName} \t{i.DateBirthday}\t Посада={i.JobTitleId}");
            //		}
        }
示例#2
0
        private void Form1_Load(object sender, EventArgs e)
        {
            context = new DbUserInRoleContext();

            int kk   = 0;
            var list = context.Users;

            foreach (var item in context.Users)
            {
                kk++;
            }
            foreach (var item in context.Roles)
            {
                kk++;
            }


            bsUsers.DataSource = context.Users.Local;
            DGV1.DataSource    = bsUsers;

            bsRoles.DataSource     = context.Roles.Local;
            clbRoles.DataSource    = bsRoles;
            clbRoles.DisplayMember = "RoleName";
        }
示例#3
0
        static void Main(string[] args)
        {
            DbUserInRoleContext context = new DbUserInRoleContext();

            foreach (var item in context.Roles)
            {
            }

            SqlParameter parameter     = new SqlParameter("@role", "manager");
            var          usersONtitels = context.Database.SqlQuery <ResulFunc>("select* from UsersByRoleFunc3(@role)", parameter);

            Console.WriteLine("===== \tMенеджери:");
            foreach (var i in usersONtitels)
            {
                Console.WriteLine($"{i.UserName}\t {i.DateBirthday} Посада:{i.JobTitleId} ");
            }


            Console.WriteLine("===================================");
            Console.WriteLine("===== \t programmer:");
            parameter     = new SqlParameter("@role", "programmer");
            usersONtitels = context.Database.SqlQuery <ResulFunc>("select* from UsersByRoleFunc3(@role)", parameter);
            foreach (var i in usersONtitels)
            {
                Console.WriteLine($"{i.UserName}\t {i.DateBirthday} Посада:{i.JobTitleId} ");
            }



            Console.WriteLine("===================================");
            Console.WriteLine("Имя пользователя, еmail и дату рождения, дата рождения которых находится в интервале между 01.03.1989 и 21.07.1993");
            //⦁	Имя пользователя, еmail и дату рождения, дата рождения которых находится в интервале между 01.03.1989 и 21.07.1993
            var liq1 = context.Users.Where(u => u.DateBirthday > new DateTime(1989, 03, 01) && u.DateBirthday < new DateTime(1993, 07, 21));

            foreach (var U in liq1)
            {
                Console.WriteLine($"{U.UserName}\t {U.Email}\t {U.DateBirthday}");
            }

            Console.WriteLine("===================================?");
            Console.WriteLine("	Имя пользователя, еmail, имя роли пользователя vasja и luba .");

            var q2 = context.Users_In_Roles.Where(i => i.UserObj.UserName == "vasja" ||
                                                  i.UserObj.UserName == "luba").Select(u => new
            {
                u.UserObj.UserName,
                u.RoleObj.RoleName,
                u.UserObj.Email
            }).ToList();

            foreach (var j in q2)
            {
                Console.WriteLine($"{j.UserName}\t {j.Email} \t{j.RoleName}");
            }


            //Имена ВСЕХ пользователей, еmail и количество ролей.
            Console.WriteLine($"Имена ВСЕХ пользователей, еmail и количество ролей.");
            var countUR = context.Users_In_Roles.GroupBy(uir => uir.UserObj);

            foreach (var j in countUR)
            {
                Console.WriteLine($"{j.First().UserObj.UserName} \t {j.First().UserObj.Email} \t{j.Count()} ");
            }


            Console.WriteLine("===================================?");
            Console.WriteLine("	Имя роли, количество пользователей в каждой из них");
            var linq3 = context.Roles.Join
                        (
                context.Users_In_Roles,
                r => r.RoleId,
                UiR => UiR.RoleId,
                (r, UiR) => new
            {
                RoleName = r.RoleName,
                count    = UiR.UserObj.UserName
            }
                        );

            var linq3_1 = linq3.GroupBy(d => d.RoleName);

            foreach (var g in linq3_1)
            {
                Console.WriteLine(g.First().RoleName + " \t" + g.Count());
            }


            //Список пользователей, которым не назначена роль
            Console.WriteLine("===================================?");
            Console.WriteLine("	Список пользователей, которым не назначена роль");
            var linq4 = context.Users.Where(u => u.Roles == null).Select(y => y.UserName);
            //int a = linq4.Count();



            //Список пользователей, у которых более 2 ролей
            //Список ролей, которые не назначены ни одному пользователю.
        }