public override void AddUsersToRoles(string[] usernames, string[] roleNames) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { foreach (String user in usernames) { foreach (String rol in roleNames) { usersgroup usrgrp = (from e1 in db.usersgroups let usr = db.users.Where(u => u.UserName == user).FirstOrDefault() let grp = db.groups.Where(g => g.GroupName == rol).FirstOrDefault() select new usersgroup { IdUsers = usr != null ? usr.IdUsers : -1, IdGroups = grp != null ? grp.IdGroups : -1 }).FirstOrDefault(); if (usrgrp.IdGroups != -1 || usrgrp.IdUsers != -1) { db.usersgroups.AddObject(usrgrp); db.SaveChanges(); } } } } }
public override void CreateRole(string roleName) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { db.groups.AddObject(new group() { GroupName = roleName }); db.SaveChanges(); } }
public override bool DeleteUser(string username, bool deleteAllRelatedData) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { user usr = db.users.Where(u => u.UserName == username).FirstOrDefault(); if (usr != null) { try { db.users.DeleteObject(usr); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } else return false; } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { user usr = db.users.Where(u => u.UserName == username).FirstOrDefault(); if (usr == null) { usr = new user() { UserName = username, Password = GetSHA1(password) }; try { db.users.AddObject(usr); db.SaveChanges(); MembershipUser msUser = new MembershipUser("MySQLMembershipProvider", usr.UserName, providerUserKey, usr.UserName + "@dxstudio.net", string.Empty, string.Empty, true, false, DateTime.MinValue, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now); status = MembershipCreateStatus.Success; return msUser; } catch (Exception ex) { //Verificamos que efectivamente no se cree el usuario usr = db.users.Where(u => u.UserName == username).FirstOrDefault(); if (usr != null) { db.users.DeleteObject(usr); db.SaveChanges(); } status = MembershipCreateStatus.UserRejected; return null; } } else { MembershipUser msUser = new MembershipUser("MySQLMembershipProvider", usr.UserName, providerUserKey, usr.UserName + "@dxstudio.net", string.Empty, string.Empty, true, false, DateTime.MinValue, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now); status = MembershipCreateStatus.DuplicateUserName; return msUser; } } }
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { try { group grp = db.groups.Where(g => g.GroupName == roleName).FirstOrDefault(); db.groups.DeleteObject(grp); db.SaveChanges(); return true; } catch (Exception) { return false; } } }
public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { foreach (String user in usernames) { foreach (String rol in roleNames) { usersgroup usrgrp = (from e1 in db.usersgroups let usr = db.users.Where(u => u.UserName == user).FirstOrDefault() let grp = db.groups.Where(g => g.GroupName == rol).FirstOrDefault() where e1.IdGroups == grp.IdGroups && e1.IdUsers == usr.IdUsers select e1).FirstOrDefault(); if (usrgrp != null) { db.usersgroups.DeleteObject(usrgrp); db.SaveChanges(); } } } } }