예제 #1
0
        static void Main()
        {
            Database.SetInitializer<MySqlContext>(new DropCreateDatabaseIfModelChanges<MySqlContext>());

            var connString = ConfigurationManager.ConnectionStrings["ConnectionStringName"].ToString();

            using (var db = new MySqlContext())
            {

                #region Load CheckedList1

                const string f = "/Users/Rafa/Documents/Proyecto NS/SavedList.txt";
                List<string> lines = new List<string>();
                using (StreamReader r = new StreamReader(f))
                {
                    string line;
                    while ((line = r.ReadLine()) != null)
                    {
                        lines.Add(line);
                    }
                }

                foreach (string s in lines)
                {

                    var permissions_in_db = db.Permissions
                        .Where(a => a.Name == s)
                        .Count();
                    if (permissions_in_db < 1)
                    {
                        if (s!="")
                        {
                            db.Permissions.AddOrUpdate(new Permission
                            {
                                Name = s
                            });
                            db.SaveChanges();
                        }

                    }
                }
                #endregion

                db.SaveChanges();
            }

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Login());
        }
예제 #2
0
        private void btn_rol_modificar_Click(object sender, EventArgs e)
        {
            using (var db = new MySqlContext())
            {

                Role role = (from s in db.Roles
                             where s.Name == txt_modificar_nombre.Text
                             select s).FirstOrDefault<Role>();

                foreach (var item in checkedListBox_modificar_permissions.CheckedItems)
                {

                    Permission newPermission = (from r in db.Permissions
                                                 .Where(n => n.Name == item)
                                                select r).FirstOrDefault<Permission>();

                    role.Permissions.Clear();
                    db.SaveChanges();

                }

                foreach (var item in checkedListBox_modificar_permissions.CheckedItems)
                {

                    Permission newPermission = (from r in db.Permissions
                                                 .Where(n => n.Name == item)
                                                select r).FirstOrDefault<Permission>();

                    role.Permissions.Add(newPermission);
                    db.SaveChanges();
                }
                MessageBox.Show("Cambios realizados satisfactoriamente.", "Role Creator - Modificar ", MessageBoxButtons.OK,
                                         MessageBoxIcon.Information);
                this.usuarios_por_rolTableAdapter.Fill(this.authDataSet.usuarios_por_rol);

            }
        }
예제 #3
0
        private void btn_rol_create_Click(object sender, EventArgs e)
        {
            bool checked_per =  HandyClass.CheckedListValidator(checkedListBox_permissions);
            bool checked_users =  HandyClass.CheckedListValidator(checkedListBox_users);

                using (var db = new MySqlContext())
                {
                    if (txt_rol_nombre.Text != "")
                    {
                        if ((checked_per != false) && (checked_users != false))
                        {
                            var role = db.Roles.Where(a => a.Name == txt_rol_nombre.Text).FirstOrDefault();
                            if (role != null)
                            {
                                MessageBox.Show("Ya existe un rol con este nombre", "Error", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                                txt_rol_nombre.Focus();
                            }
                            else
                            {
                                var permissions = new List<Permission>();
                                foreach (var item in checkedListBox_permissions.CheckedItems)
                                {
                                    Permission permission = HandyClass.GetPermission(item.ToString(), db);
                                    permissions.Add(permission);
                                }

                                var users = new List<LoginModel>();
                                foreach (var item in checkedListBox_users.CheckedItems)
                                {
                                    LoginModel user = HandyClass.GetUsers(item.ToString(), db);
                                    users.Add(user);

                                }

                                db.Roles.Add(new Role
                                {
                                    Name = txt_rol_nombre.Text,
                                    Permissions = permissions,
                                    Users = users
                                });
                                db.SaveChanges();
                                this.usuarios_por_rolTableAdapter.Fill(this.authDataSet.usuarios_por_rol);
                                MessageBox.Show("Rol creado satisfactoriamente!");
                                HandyClass.ClearCheckedListBox(checkedListBox_permissions);
                                HandyClass.ClearCheckedListBox(checkedListBox_users);
                                txt_rol_nombre.Text = "";
                                txt_rol_nombre.Focus();
                            }
                        }
                        else
                        {
                                 MessageBox.Show(
                                "Debe seleccionar al menos un Usuario y al menos un Permisso, para asignar al Rol.",
                                "Rol Creator", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                         MessageBox.Show("Debe Introducir un nombre para el Rol a crear.", "", MessageBoxButtons.OK,
                                         MessageBoxIcon.Exclamation);
                         txt_rol_nombre.Text = "";
                         txt_rol_nombre.Focus();
                    }

                }
        }