Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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
                {
                }
            }
        }