private void attach_Sys_UserPermission(Sys_UserPermission entity) { this.SendPropertyChanging(); entity.Sys_Permission = this; }
private void detach_Sys_UserPermission(Sys_UserPermission entity) { this.SendPropertyChanging(); entity.Sys_User = null; }
partial void DeleteSys_UserPermission(Sys_UserPermission instance);
partial void UpdateSys_UserPermission(Sys_UserPermission instance);
partial void InsertSys_UserPermission(Sys_UserPermission instance);
public void SaveUser(Guid userGuid, string userName, string firstName, string lastName, List<Guid> permissionGuids) { using(var db = new IntiDataContext(_connectionString)) { var user = db.Sys_User.Single(u => u.GUID == userGuid); //is user name still unique? if (userName != user.UserName) { var users = from u in db.Sys_User where u.UserName == userName && u.GUID != userGuid select u; if(users.ToList().Count > 0) { throw new Exception(String.Format("The Username {0} not unique", userName)); } } var message = ""; if (user.UserName != userName) { message += String.Format("Changed {0} from {1} to {2}. ", "UserName", user.UserName, userName); user.UserName = userName; } if (user.FirstName!= firstName) { message += String.Format("Changed {0} from {1} to {2}. ", "FirstName", user.FirstName, firstName); user.FirstName = firstName; } if (user.LastName != lastName) { message += String.Format("Changed {0} from {1} to {2}. ", "LastName", user.LastName, lastName); user.LastName = lastName; } if(!String.IsNullOrEmpty(message)) LogEvent(userGuid, user.GetType(), SessionProperties.UserGuid, SessionProperties.ClientInfo, EventType.Change, message); //clear permissions var userPermissions = from up in db.Sys_UserPermission where up.UserGUID == userGuid select up; foreach (Sys_UserPermission userPermission in userPermissions.ToList()) { if (permissionGuids.Contains(userPermission.PermissionGUID)) { permissionGuids.Remove(userPermission.PermissionGUID); } else { db.Sys_UserPermission.DeleteOnSubmit(userPermission); LogEvent(userGuid, user.GetType(), SessionProperties.UserGuid, SessionProperties.ClientInfo, EventType.Change, "Removed permission " + userPermission.Sys_Permission.Name); } } foreach (Guid permissionGuid in permissionGuids) { var userPermission = new Sys_UserPermission(); userPermission.UserGUID = userGuid; userPermission.PermissionGUID = permissionGuid; Guid guid = permissionGuid; var permission = db.Sys_Permission.Single(p => p.GUID == guid); LogEvent(userGuid, user.GetType(), SessionProperties.UserGuid, SessionProperties.ClientInfo, EventType.Change, "Added permission " + permission.Name); db.Sys_UserPermission.InsertOnSubmit(userPermission); } db.SubmitChanges(); } }
public void RegisterUser(string firstName, string lastName, string email, string password) { if (String.IsNullOrEmpty(firstName)) throw new IntiGeneralException("Du måste ange ett förnamn"); if (String.IsNullOrEmpty(lastName)) throw new IntiGeneralException("Du måste ange ett efternamn"); if (String.IsNullOrEmpty(email)) throw new IntiGeneralException("Du måste ange en epostadress"); if (String.IsNullOrEmpty(password)) throw new IntiGeneralException("Du måste ange ett lösenord"); using (var db = new IntiDataContext(_connectionString)) { //username/email must be unique var users = from u in db.Sys_User where u.UserName.ToLower() == email.ToLower() select u; if (users.ToList().Count > 0) throw new IntiGeneralException("Det finns redan en användare med den epostadressen"); var user = new Sys_User { FirstName = firstName, LastName = lastName, UserName = email, Password = password }; db.Sys_User.InsertOnSubmit(user); //default permissions var defaultPermissions = from p in db.Sys_Permission where p.Name == "USER" || p.Name == "USER_PVTTOUR" select p; foreach (var perm in defaultPermissions.ToList()) { var userPerm = new Sys_UserPermission(); userPerm.UserGUID = user.GUID; userPerm.PermissionGUID = perm.GUID; db.Sys_UserPermission.InsertOnSubmit(userPerm); } db.SubmitChanges(); } }