public Result <OlescUser> GetUser(string email) { /* Create the result object ; which will be returned at the end * of the method */ Result <OlescUser> result = new Result <OlescUser>(); try { /* Database Connection */ //dbCon = new OlescEntities(); /* Get User object*/ OlescUser user = dbCon.OlescUsers.Where(usr => usr.Email.Equals(email)).FirstOrDefault(); result.isSuccess = true; result.resultObject = user; } catch (Exception e) { result.isSuccess = false; result.message = e.Message; result.resultObject = null; } finally { } return(result); }
public Result <OlescUser> Register(OlescUser newUser, UserProfile newUserProfile, OlescRole role) { List <OlescRole> newRole; newRole = new List <OlescRole>(); newRole.Add(role); return(Register(newUser, newUserProfile, newRole)); }
public static Result <object> CanEnrolInSession(SessionsListView ses, OlescUser student) { Result <object> result = new Result <object>(); /* If this user has student role */ if (AccessManagementValidator.UserHasRole(student, Constants.Roles.Student)) { if (ses.TutorID == student.ID) { result.isSuccess = false; result.message = "Student is the same as the Tutor"; } else if (ses.Status.Equals("Active")) { if (ses.RemainingSeats > 0) { result.isSuccess = true; result.message = "Can Enrol in Session there are " + ses.RemainingSeats + " remaining seats"; } else { result.isSuccess = false; result.message = "Session has no empty seats"; } } else { result.isSuccess = false; result.message = "Session is Not Active"; } } else { result.isSuccess = false; result.message = "Provided user is not a student"; } return(result); }
public static bool UserHasRole(OlescUser user, Roles role) { bool result; if (user == null || user.UserRoles == null || user.UserRoles.Count == 0) { result = false; } /* Check if the user has the role I have passed */ else if (user.UserRoles.Where(ur => ur.RoleID == (int)role).LongCount() > 0) { result = true; } else { result = false; } return(result); }
private Result <OlescUser> ChangeUserStatus(String username, UserStatus userStatus, String loggedInUser) { /* Create the result object ; which will be returned at the end * of the method */ Result <OlescUser> result = new Result <OlescUser>(); try { /* Log stores any activity occured, like log book */ /* Database has log method*/ /* Informational Log */ // dbCon.Database.Log = s => System.Diagnostics.Debug.WriteLine(s); /* Get User Object*/ /* Using a method getUser to get the user*/ Result <OlescUser> getUserResult = GetUser(username); //Convert the User Status from Char to String (A/I) String newUserStatus = ((char)userStatus).ToString(); /* check if getUserSuccessfuly*/ if (getUserResult != null && getUserResult.isSuccess) { OlescUser user = getUserResult.resultObject; /* Check if the user exists in the database*/ if (user != null) { if (user.isActive.Equals(newUserStatus)) { switch (userStatus) { case UserStatus.Active: result.message = "User \"" + username + "\" is already active"; break; case UserStatus.InActive: result.message = "User \"" + username + "\" is already inactive"; break; } } else { user.isActive = newUserStatus; user.UpdatedBy = loggedInUser; user.UpdatedDate = DateTime.Now; int records = 0; records = dbCon.SaveChanges(); if (records > 0) { result.isSuccess = true; switch (userStatus) { case UserStatus.Active: result.message = "User \"" + username + "\" has been Actived"; break; case UserStatus.InActive: result.message = "User \"" + username + "\" has been Deactivated"; break; } result.resultObject = user; } else { result.isSuccess = false; result.message = "No Users were activated/deactivated"; } } } else { result.message = "User Not found"; result.isSuccess = false; } } else { result.message = "Error Fetching User"; result.isSuccess = false; } } catch (Exception e) { result.isSuccess = false; result.message = e.Message; result.resultObject = null; } //finally //{ //} return(result); }
public Result <OlescUser> ResetPassword(String username) { int NumOfRecords = 0; /* Create the result object ; which will be returned at the end * of the method */ Result <OlescUser> result = new Result <OlescUser>(); /* Database Connection */ // OlescEntities dbCon = null; try { /* Database Connection */ // dbCon = new OlescEntities(); result = this.GetUser(username); if (result.isSuccess) { OlescUser currentUser = result.resultObject; /* Generating randomString as new password*/ String NewPassword = StringUtility.RandomString(8, true); currentUser.Password = StringUtility.CreateMD5Hash(NewPassword); currentUser.UpdatedBy = "System"; currentUser.UpdatedDate = DateTime.Now; /* dbCon.users.Add(currentUser); This is like adding, not modifing!, duplicate error */ /* I take the object currentUser, and I attach it to the database connection*/ // dbCon.users.Attach(currentUser); /* This state of currentUser is modified*/ //dbCon.Entry(currentUser).State = EntityState.Modified; NumOfRecords = dbCon.SaveChanges(); /* if there is at least 1 record saved -> true, if not -> false */ if (NumOfRecords >= 1) { result.isSuccess = true; result.message = "Password has been reset successfuly"; NotificationManagementService nms = new NotificationManagementService(); String emailContent; emailContent = "Dear " + result.resultObject.UserProfile.FirstName + ","; emailContent += "\nThis email is to inform you that your password had been reset."; emailContent += "\nYour new Password is: " + NewPassword; emailContent += "\n Please change your password in your next login."; emailContent += "\n\nRegards,\nOLESC Team"; /* Subject*/ String emailSubject; emailSubject = "Password Reset"; nms.Notify(username, null, null, emailSubject, emailContent); } else { result.isSuccess = false; result.message = "Error in Password reset, please check your info"; } } else { result.isSuccess = false; result.message = "User " + username + " does not exist"; } } catch (Exception e) { result.isSuccess = false; result.message = e.Message; result.resultObject = null; } //finally //{ //if (dbCon != null) //{ // /* Same as in Java dbCon.Close() */ // dbCon.Dispose(); //} // return(result); }
public Result <OlescUser> Register(OlescUser newUser, UserProfile newUserProfile, List <OlescRole> roles) { int NumOfRecords = 0; /* Create the result object ; which will be returned at the end * of the method */ Result <OlescUser> result = new Result <OlescUser>(); /* Database Connection */ OlescEntities dbCon = null; try { /* Database Connection */ dbCon = new OlescEntities(); /* Adding a newUser to User table, * and returns the object with user ID */ newUser.isActive = "A"; /* Take the user password and turn in into MD5 hash, * then save the hash in the database */ newUser.Password = StringUtility.CreateMD5Hash(newUser.Password); newUser = dbCon.OlescUsers.Add(newUser); /* assign ID to UserProfile table; because it's PF */ //newUserProfile.UserID = newUser.ID; newUserProfile.user = newUser; /* Adding a newUserProfile to UserProfile table, * and returns the object */ newUserProfile = dbCon.UserProfiles.Add(newUserProfile); foreach (OlescRole role in roles) { /* creating an object for userrole, using userrole table */ OlescUserRole newUserRole = new OlescUserRole(); /* What I need to assign a role is to have RoleID and UserID * "Check database table UserRole"*/ //newUserRole.UserID = newUser.ID; newUserRole.User = newUser; newUserRole.RoleID = role.ID; /*Adding the role assigned tp userRole table*/ newUserRole = dbCon.OlescUserRoles.Add(newUserRole); } NumOfRecords = dbCon.SaveChanges(); /* if there is at least 1 record saved -> true, if not -> false */ if (NumOfRecords >= 1) { result.isSuccess = true; result.message = "Thank you " + newUser.UserProfile.FirstName + " for regstering in OLESC!"; NotificationManagementService nms = new NotificationManagementService(); /* Email notification service */ /* Conent */ String emailContent; emailContent = "Thank you for registering in OLESC"; emailContent += "\nYour Username is your email: " + newUser.Email; emailContent += "\nEnjoy our Online Learning Srvices!"; emailContent += "\n\nRegards,\nOLESC Team"; /* Subject*/ String emailSubject; emailSubject = "OLESC Registration"; /* Sending the email */ nms.Notify(newUser.Email, null, null, emailSubject, emailContent); } else { result.isSuccess = false; result.message = "Error in registration, please check you information"; } } catch (Exception e) { result.isSuccess = false; result.message = e.Message; result.resultObject = null; } /* Whatever you want to clean up, close after error to delete from memory*/ finally { if (dbCon != null) { /* Same as in Java dbCon.Close() */ dbCon.Dispose(); } } return(result); }
public Result <OlescUser> ChangePassword(string username, string password) { int NumOfRecords = 0; /* Create the result object ; which will be returned at the end * of the method */ Result <OlescUser> result = new Result <OlescUser>(); /* Database Connection */ OlescEntities dbCon = null; try { /* Database Connection */ dbCon = new OlescEntities(); OlescUser user = dbCon.OlescUsers.Where(u => u.Email.Equals(username)).FirstOrDefault(); if (user != null) { password = StringUtility.CreateMD5Hash(password); if (!user.Password.Equals(password)) { user.Password = password; NumOfRecords = dbCon.SaveChanges(); /* if there is at least 1 record saved -> true, if not -> false */ if (NumOfRecords >= 1) { result.isSuccess = true; result.message = "Password changed successfully"; NotificationManagementService nms = new NotificationManagementService(); /* Email notification service */ /* Conent */ String emailContent; emailContent = "Dear " + user.UserProfile.FirstName; emailContent += "\nThis email is notify you that your password has been changed."; emailContent += "\nIf you haven't changed your password, please reset your password in the login page."; emailContent += "\n\nRegards,\nOLESC Team"; /* Subject*/ String emailSubject; emailSubject = "Your Password has been Changed"; /* Sending the email */ nms.Notify(user.Email, null, null, emailSubject, emailContent); } else { result.isSuccess = false; result.message = "Error changing password"; } } else { result.isSuccess = false; result.message = "Old password is the same as the new password"; } } else { result.isSuccess = false; result.message = "User does not exist"; } } catch (Exception e) { result.isSuccess = false; result.message = e.Message; result.resultObject = null; } finally { if (dbCon != null) { /* Same as in Java dbCon.Close() */ dbCon.Dispose(); } } return(result); }
protected void btnRegister_Click(object sender, EventArgs e) { //Validate Selections for student if (chkRoles.Items[0].Selected) { if (string.IsNullOrEmpty(ddlMajors.SelectedItem.Value)) { rfvMajor.IsValid = false; } else { rfvMajor.IsValid = true; } if (string.IsNullOrEmpty(ddlCollege.SelectedItem.Value)) { rfvCollege.IsValid = false; } else { rfvCollege.IsValid = true; } } else { rfvMajor.IsValid = true; rfvCollege.IsValid = true; } if (rfvMajor.IsValid && rfvCollege.IsValid) { AccessManagementService AccMng = new AccessManagementService(); OlescUser newUser = new OlescUser(); UserProfile newUserProfile = new UserProfile(); List <OlescRole> role = new List <OlescRole>(); newUser.Email = txtEmail.Text; newUser.Password = txtPassword.Text; newUserProfile.FirstName = txtFirstName.Text; newUserProfile.LastName = txtLastName.Text; newUserProfile.College = ddlCollege.SelectedItem.Text; newUserProfile.Major = ddlMajors.SelectedItem.Text; /* 2 fot now only testing, should change (2 is Student)*/ //role.Add(new DAL.role() { ID = int.Parse(radRole.SelectedValue) }; role = chkRoles.Items .Cast <ListItem>() .Where(ci => ci.Selected) .Select(ci => new OlescRole() { ID = int.Parse(ci.Value) }) .ToList(); // If registration Result <OlescUser> result = AccMng.Register(newUser, newUserProfile, role); if (result.isSuccess) { UrlUtility.Redirect(WebsitePages.REGISTRATION_PAGE, "success"); } else { } } }