예제 #1
0
        public JsonResult ProcessForgotPassword(string ForgotPassword_Email)
        {
            bool ForgotPasswordStatus = false;

            if (login.CheckEmailAddress(ForgotPassword_Email))
            {
                string temp_password = null;

                using (RandomNumberGenerator rng = new RNGCryptoServiceProvider())
                {
                    Byte[] bytes = new Byte[8];
                    rng.GetBytes(bytes);
                    temp_password = Convert.ToBase64String(bytes);
                    changepassword.UpdatePasswordQuery(ForgotPassword_Email, StringCipher.Encrypt(temp_password));
                }

                string email_body       = "Hi user!\r\n\r\nYour temporary password is " + temp_password + ". Please remember to reset your password!";
                string email_subject    = "Mug Share Web App Reset Password Request";
                string email_recipients = ForgotPassword_Email;
                ForgotPasswordStatus = emailservice.SendEmail(email_recipients, email_subject, email_body);
            }

            IsTrueOrFalse model = new IsTrueOrFalse(ForgotPasswordStatus);

            return(ResultJson(model));
        }
예제 #2
0
        public JsonResult LS_MachineIDValidator(string MachineID)
        {
            bool          machineIDStatus = locationsupply.MachineIDValidator(MachineID);
            IsTrueOrFalse model           = new IsTrueOrFalse(machineIDStatus);

            return(ResultJson(model));
        }
예제 #3
0
        public JsonResult S_EmailValidator(string Email)
        {
            bool          emailStatus = security.EmailValidator(Email);
            IsTrueOrFalse model       = new IsTrueOrFalse(emailStatus);

            return(ResultJson(model));
        }
예제 #4
0
        public JsonResult ProcessChangePassword(string CurrentPassword, string NewPassword, string RetypeNewPassword)
        {
            bool   changePasswordStatus = true;
            string Username             = SessionStorage.Username;
            string Email = SessionStorage.Email;

            // Check that username and current password matches
            //string AdminPermission = login.GetAdminPermission(Username, StringCipher.Encrypt(CurrentPassword));
            //login.GetAdminPermission(Username, CurrentPassword);
            if (!(login.GetAdminPermission(Username, CurrentPassword)))
            {
                // Username and current password do not match
                changePasswordStatus = false;
            }
            else
            {
                // Check that new password and retyped new password matches
                if (!(string.Compare(NewPassword, RetypeNewPassword) == 0))
                {
                    // New password and retyped new password does not match
                    changePasswordStatus = false;
                }
                else
                {
                    // Change current password to the new password
                    changepassword.UpdatePasswordQuery(Email, StringCipher.Encrypt(NewPassword));
                }
            }

            IsTrueOrFalse model = new IsTrueOrFalse(changePasswordStatus);

            return(ResultJson(model));
        }
예제 #5
0
        public JsonResult MR_MugIDValidator(string MugID)
        {
            bool          mugIDStatus = mugregistry.MugIDValidator(MugID);
            IsTrueOrFalse model       = new IsTrueOrFalse(mugIDStatus);

            return(ResultJson(model));
        }
예제 #6
0
        public JsonResult S_Delete(string SecurityKey)
        {
            bool          deleteStatus = security.DeleteQuery(SecurityKey);
            IsTrueOrFalse model        = new IsTrueOrFalse(deleteStatus);

            return(ResultJson(model));
        }
예제 #7
0
        public JsonResult LS_Edit(LocationModalModel jsonString)
        {
            string MachineKey      = jsonString.MachineKey;
            string MachineID       = jsonString.MachineID;
            string MachineLocation = jsonString.MachineLocation;
            int    OpeningHour     = jsonString.OpeningHour;
            int    ClosingHour     = jsonString.ClosingHour;
            string TotalCapacity   = jsonString.TotalCapacity;
            bool   OutOfOrder      = jsonString.OutOfOrder;
            string Notes           = jsonString.Notes;

            //Notes field is allowed to be null, therfore account for string variation
            if (Notes != null)
            {
                Notes = "'" + Notes + "'";
            }
            else
            {
                Notes = "NULL";
            }

            bool          editStatus = locationsupply.EditQuery(MachineKey, MachineID, MachineLocation, OpeningHour, ClosingHour, TotalCapacity, OutOfOrder, Notes);
            IsTrueOrFalse model      = new IsTrueOrFalse(editStatus);

            return(ResultJson(model));
        }
예제 #8
0
        public JsonResult LS_Delete(string MachineID)
        {
            bool          deleteStatus = locationsupply.DeleteQuery(MachineID);
            IsTrueOrFalse model        = new IsTrueOrFalse(deleteStatus);

            return(ResultJson(model));
        }
예제 #9
0
        public JsonResult MSU_StudentNumberValidator(string StudentNumber)
        {
            bool          studentNumberStatus = mugshareusers.StudentNumberValidator(StudentNumber);
            IsTrueOrFalse model = new IsTrueOrFalse(studentNumberStatus);

            return(ResultJson(model));
        }
예제 #10
0
        public JsonResult MSU_EmailValidator(string Email)
        {
            bool          emailStatus = mugshareusers.EmailValidator(Email);
            IsTrueOrFalse model       = new IsTrueOrFalse(emailStatus);

            return(ResultJson(model));
        }
예제 #11
0
        public JsonResult MSU_Delete(string UserKey)
        {
            bool          deleteStatus = mugshareusers.DeleteQuery(UserKey);
            IsTrueOrFalse model        = new IsTrueOrFalse(deleteStatus);

            return(ResultJson(model));
        }
예제 #12
0
        public JsonResult S_StaffCardIDValidator(string StaffCardID)
        {
            bool          staffCardIDStatus = security.StaffCardIDValidator(StaffCardID);
            IsTrueOrFalse model             = new IsTrueOrFalse(staffCardIDStatus);

            return(ResultJson(model));
        }
예제 #13
0
        public JsonResult S_UsernameValidator(string Username)
        {
            bool          usernameStatus = security.UsernameValidator(Username);
            IsTrueOrFalse model          = new IsTrueOrFalse(usernameStatus);

            return(ResultJson(model));
        }
예제 #14
0
        public JsonResult MR_Delete(string MugKey)
        {
            bool          deleteStatus = mugregistry.DeleteQuery(MugKey);
            IsTrueOrFalse model        = new IsTrueOrFalse(deleteStatus);

            return(ResultJson(model));
        }
예제 #15
0
        public JsonResult ProcessLogIn(string LogInUsername, string LogInPassword)
        {
            bool          logInStatus = login.GetAdminPermission(LogInUsername, LogInPassword);
            IsTrueOrFalse model       = new IsTrueOrFalse(logInStatus);

            return(ResultJson(model));
        }
예제 #16
0
        public JsonResult MR_Create(string MugID)
        {
            bool CurrentlyInUse = false;

            bool          createStatus = mugregistry.CreateQuery(MugID, CurrentlyInUse);
            IsTrueOrFalse model        = new IsTrueOrFalse(createStatus);

            return(ResultJson(model));
        }
예제 #17
0
        public JsonResult SendEmailService(string EmailSubject, string EmailBody, string EmailRecipients)
        {
            bool sendEmailStatus = true;

            // Send Email
            sendEmailStatus = emailservice.SendEmail(EmailRecipients, EmailSubject, EmailBody);

            IsTrueOrFalse model = new IsTrueOrFalse(sendEmailStatus);

            return(ResultJson(model));
        }
예제 #18
0
        public JsonResult ProcessReturn(string MugID)
        {
            bool returnStatus = mugreturn.UpdateMugStatusQuery(MugID);

            if (returnStatus == true)
            {
                string LastBorrowedBy = mugreturn.GetUBC_ID(MugID);
                returnStatus = mugreturn.UpdateUserStatusQuery(LastBorrowedBy);
            }

            IsTrueOrFalse model = new IsTrueOrFalse(returnStatus);

            return(ResultJson(model));
        }
예제 #19
0
        public JsonResult S_Edit(SecurityModalModel jsonString)
        {
            string SecurityKey     = jsonString.SecurityKey;
            string FirstName       = jsonString.FirstName;
            string LastName        = jsonString.LastName;
            string StaffCardID     = jsonString.StaffCardID;
            string UserName        = StringCipher.Encrypt(jsonString.Username);
            string Email           = jsonString.Email;
            bool   AdminPermission = jsonString.AdminPermission;

            bool          editStatus = security.EditQuery(SecurityKey, FirstName, LastName, StaffCardID, UserName, Email, AdminPermission);
            IsTrueOrFalse model      = new IsTrueOrFalse(editStatus);

            return(ResultJson(model));
        }
예제 #20
0
        public JsonResult S_Create(SecurityModalModel jsonString)
        {
            string FirstName       = jsonString.FirstName;
            string LastName        = jsonString.LastName;
            string StaffCardID     = jsonString.StaffCardID;
            string Username        = StringCipher.Encrypt(jsonString.Username);
            string Password        = StringCipher.Encrypt(jsonString.Password);
            string Email           = jsonString.Email;
            bool   AdminPermission = jsonString.AdminPermission;

            bool          createStatus = security.CreateQuery(FirstName, LastName, StaffCardID, Username, Password, Email, AdminPermission);
            IsTrueOrFalse model        = new IsTrueOrFalse(createStatus);

            return(ResultJson(model));
        }
예제 #21
0
        public JsonResult MR_Edit(MugsModalModel jsonString)
        {
            string MugKey         = jsonString.MugKey;
            string MugID          = jsonString.MugID;
            bool   CurrentlyInUse = jsonString.CurrentlyInUse;
            string Notes          = jsonString.Notes;

            //Notes field is allowed to be null, therfore account for string variation
            if (Notes != null)
            {
                Notes = "'" + Notes + "'";
            }
            else
            {
                Notes = "NULL";
            }

            bool          editStatus = mugregistry.EditQuery(MugKey, MugID, CurrentlyInUse, Notes);
            IsTrueOrFalse model      = new IsTrueOrFalse(editStatus);

            return(ResultJson(model));
        }
예제 #22
0
        public JsonResult MSU_Create(UsersModalModel jsonString)
        {
            string StudentNumber = jsonString.StudentNumber;
            string FirstName     = jsonString.FirstName;
            string LastName      = jsonString.LastName;
            string Email         = jsonString.Email;
            string Notes         = jsonString.Notes;

            //Notes field is allowed to be null, therfore account for string variation
            if (Notes != null)
            {
                Notes = "'" + Notes + "'";
            }
            else
            {
                Notes = "NULL";
            }

            bool          createStatus = mugshareusers.CreateQuery(StudentNumber, FirstName, LastName, Email, Notes);
            IsTrueOrFalse model        = new IsTrueOrFalse(createStatus);

            return(ResultJson(model));
        }
예제 #23
0
        public JsonResult MSU_Edit(UsersModalModel jsonString)
        {
            string UserKey       = jsonString.UserKey;
            string StudentNumber = jsonString.StudentNumber;
            string FirstName     = jsonString.FirstName;
            string LastName      = jsonString.LastName;
            string Email         = jsonString.Email;
            bool   MugInUse      = jsonString.MugInUse;
            string DateOfRental  = jsonString.DateOfRental;
            string Notes         = jsonString.Notes;

            //Date of rental field is allowed to be null, therfore account for string variation
            if (DateOfRental != null)
            {
                DateOfRental = "'" + DateOfRental + "'";
            }
            else
            {
                DateOfRental = "NULL";
            }

            //Notes field is allowed to be null, therfore account for string variation
            if (Notes != null)
            {
                Notes = "'" + Notes + "'";
            }
            else
            {
                Notes = "NULL";
            }

            bool          editStatus = mugshareusers.EditQuery(UserKey, StudentNumber, FirstName, LastName, Email, MugInUse, DateOfRental, Notes);
            IsTrueOrFalse model      = new IsTrueOrFalse(editStatus);

            return(ResultJson(model));
        }
예제 #24
0
        public JsonResult MSU_Excel(string ExcelPath)
        {
            //string connectionString = @"C:\Users\Logan\Downloads\StudentInfoExample.xlsx";
            string connectionString = ExcelPath;
            string sheetName        = "Sheet1";
            bool   createStatus     = false;

            //tempString is the hardcoded working string, and connectionString is the same string passed through ajax
            //if(tempString != connectionString)
            //{
            //    IsTrueOrFalse temp = new IsTrueOrFalse(false);
            //    return ResultJson(temp);
            //}

            List <UsersModalModel> list = new List <UsersModalModel>();

            //connect to excel document and get row data
            var excelFile      = new ExcelQueryFactory(connectionString);
            var studentRecords = from a in excelFile.Worksheet(sheetName) select a;

            //create UsersModalModel models containing the data from excel document
            foreach (var a in studentRecords)
            {
                UsersModalModel model = new UsersModalModel();
                model.StudentNumber     = a["STUD_NO"];
                model.FirstName         = a["GIVEN_NAME"];
                model.LastName          = a["SURNAME"];
                model.Email             = a["EMAIL_ADDRESS"];
                model.TotalMugsBorrowed = "0";
                list.Add(model);
            }

            //get ride of duplicates based on student numbers
            list = list.GroupBy(x => x.StudentNumber).Select(y => y.First()).ToList();

            //delete all records from the MugShareUsers table in database
            if (list.Count > 0)
            {
                string clearMSUTable = "DELETE FROM MugShareUsers";
                createStatus = mugshareusers.QueryProcessor(clearMSUTable);
            }

            //make query string to input excel data into database
            if (createStatus)
            {
                string dataEntryQuery = "INSERT INTO MugShareUsers (StudentNumber, FirstName, LastName, Email, MugInUse, TotalMugsBorrowed) VALUES ";

                foreach (UsersModalModel element in list)
                {
                    string recordValues = "(" + element.StudentNumber + ", '" + element.FirstName + "', '" + element.LastName + "', '" + element.Email + "', 'false', 0), ";
                    dataEntryQuery += recordValues;
                }

                dataEntryQuery = dataEntryQuery.Substring(0, dataEntryQuery.Length - 2);

                createStatus = mugshareusers.QueryProcessor(dataEntryQuery);
            }

            IsTrueOrFalse boolModel = new IsTrueOrFalse(createStatus);

            return(ResultJson(boolModel));
        }