Exemple #1
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);
        }
Exemple #2
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);
        }
Exemple #3
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);
        }