Beispiel #1
0
        //Login
        public static Boolean Login(AccountViewModel_Login view, AccountViewModel account, string ConnectionString, SecurityLogic security)
        {
            if (view.Login == null)
            {
                view.Errors.Add("No Login Name Provided");
            }
            if (view.password == null)
            {
                view.Errors.Add("No Password Provided");
            }

            if (view.Errors.Count > 0)
            {
                return(false);
            }

            if (AccountDataAccess.GetSalt(view, ConnectionString))
            {
                if (view.salt == null)
                {
                    return(false);
                }

                if (view.Errors.Count > 0)
                {
                    return(false);
                }

                if (AccountDataAccess.Login(view, account, ConnectionString, security))
                {
                    if (account.AccountID == null || account.AccountID <= 0)
                    {
                        view.Errors.Add("No Login Name Provided");
                    }
                    if (account.username == null)
                    {
                        view.Errors.Add("Error Retrieving Username");
                    }
                    if (account.email == null)
                    {
                        view.Errors.Add("Error Retrieving Email");
                    }

                    if (view.Errors.Count > 0)
                    {
                        return(false);
                    }

                    if (account.Errors.Count > 0)
                    {
                        return(false);
                    }

                    return(true);
                }
            }
            return(false);
        }
Beispiel #2
0
        //Login
        public static Boolean Login(AccountViewModel_Login view, AccountViewModel AccountView, string ConnectionString, SecurityLogic security)
        {
            if (!GetSalt(view, ConnectionString))
            {
                AccountView.Errors.Add(view.Errors.First());
                return(false);
            }
            else
            {
                if (view.salt != null)
                {
                    try
                    {
                        DataAccess dataAccess = new DataAccess(ConnectionString, "spAccounts_Login");


                        dataAccess.SetParamater_Input("@LoginID", view.Login, SqlDbType.VarChar, 100);
                        dataAccess.SetParamater_Input("@Hash", security.GenerateSaltedHash(view.password, Encoding.ASCII.GetBytes(view.salt)), SqlDbType.VarChar, 100);

                        dataAccess.SetParamater_Output("@outAccountID", SqlDbType.Int);
                        dataAccess.SetParamater_Output("@outUsername", SqlDbType.VarChar, 100);
                        dataAccess.SetParamater_Output("@outEmail", SqlDbType.VarChar, 100);
                        dataAccess.SetParamater_Output("@outFirstName", SqlDbType.VarChar, 100);
                        dataAccess.SetParamater_Output("@outLastName", SqlDbType.VarChar, 100);
                        dataAccess.SetParamater_Output("@outCretedOn", SqlDbType.DateTime);
                        dataAccess.SetParamater_Output("@outLastEditedOn", SqlDbType.DateTime);

                        dataAccess.ExecuteNonQuery();

                        AccountView.AccountID    = (int?)(dataAccess.GetParamater("@outAccountID"));
                        AccountView.username     = (string)(dataAccess.GetParamater("@outUsername"));
                        AccountView.email        = (string)(dataAccess.GetParamater("@outEmail"));
                        AccountView.firstname    = (string)(dataAccess.GetParamater("@outFirstName"));
                        AccountView.lastname     = (string)(dataAccess.GetParamater("@outLastName"));
                        AccountView.CreatedOn    = (DateTime?)(dataAccess.GetParamater("@outCretedOn"));
                        AccountView.LastEditedOn = (DateTime?)(dataAccess.GetParamater("@outLastEditedOn"));

                        return(true);
                    }
                    catch (Exception ex)
                    {
                        AccountView.Errors.Add(ex.Message);
                        return(false);
                    }
                }
                else
                {
                    AccountView.Errors.Add(view.Errors.First());
                    return(false);
                }
            }
        }
Beispiel #3
0
        public static Boolean GetSalt(AccountViewModel_Login view, string ConnectionString)
        {
            try
            {
                DataAccess dataAccess = new DataAccess(ConnectionString, "spAccounts_GetLoginSalt");
                dataAccess.SetParamater_Input("@LoginID", view.Login, SqlDbType.VarChar, 100);
                dataAccess.SetParamater_Output("@outSalt", SqlDbType.VarChar, 100);
                dataAccess.ExecuteNonQuery();

                view.salt = (string)(dataAccess.GetParamater("@outSalt"));
                return(true);
            }
            catch (Exception ex)
            {
                view.Errors.Add(ex.Message);
                return(false);
            }
        }