示例#1
0
    public static void CreationCookie(object sender, System.Web.ApplicationServices.CreatingCookieEventArgs e)
    {
        ONyRDataSet.SysUserDataTable    users;
        ONyRDataSet.SysSessionDataTable sessions;
        ONyRDataSet.SysSessionRow       session;

        SysUserTableAdapter userAdapter = new SysUserTableAdapter();

        users = userAdapter.GetDataByUserName(e.UserName);

        if (users.Count == 0)
        {
            throw new ONyRException(ErrorCode.InvalidCredentialsError);
        }

        ONyRDataSet.SysUserRow user = users[0];

        SysSessionTableAdapter sessionAdapter = new SysSessionTableAdapter();

        sessions = sessionAdapter.GetDataByUserID(user.ID);

        foreach (ONyRDataSet.SysSessionRow row in sessions)
        {
            sessionAdapter.Delete1(row.ID);
        }

        sessionAdapter.CreateSession(user.ID);
        sessions = sessionAdapter.GetDataByUserID(user.ID);
        session  = sessions[0];
        sessionAdapter.Dispose();

        userAdapter.UpdateLoginDate(user.ID);
        userAdapter.Dispose();

        HttpContext.Current.Response.Cookies.Add(new HttpCookie("UserId", user.ID.ToString()));
        HttpContext.Current.Response.Cookies.Add(new HttpCookie("SessionId", session.ID.ToString()));
    }
示例#2
0
    public List <UserVO> ModifyUsers(UserVO[] pOriginalUser, UserVO[] pNewUser, bool isForced = false)
    {
        List <UserVO> result = new List <UserVO>();

        try
        {
            AuthenticationService.CheckIfUSerIsAuthenticated();
            SysUserTableAdapter adapter = new SysUserTableAdapter();
            string logParams            = "";
            bool   modifyConflict       = false;

            for (int i = 0; i < Math.Min(pOriginalUser.Length, pNewUser.Length); ++i)
            {
                ONyRDataSet.SysUserRow row = adapter.GetDataByID(pNewUser[i].ID)[0];

                string   title              = row.IsTitleNull() ? "" : row.Title;
                string   middleName         = row.IsMiddleNameNull() ? "" : row.MiddleName;
                string   mothersMaindenName = row.IsMothersMaindenNameNull() ? "" : row.MothersMaindenName;
                DateTime lastLogin          = row.IsLastLoginNull() ? DateTime.MinValue : row.LastLogin;

                UserVO vo = new UserVO(row.ID, row.UserName, title, row.FirstName, middleName, row.LastName, mothersMaindenName, row.Email, row.IdentityCardNumber, lastLogin);

                if (vo.Equals(pOriginalUser[i]) || isForced)
                {
                    if (logParams.Length > 0)
                    {
                        logParams += ",\n";
                    }
                    adapter.UpdateUser(pNewUser[i].UserName, pNewUser[i].Title, pNewUser[i].FirstName, pNewUser[i].MiddleName, pNewUser[i].LastName, pNewUser[i].MothersMaidenName, pNewUser[i].EMail, pNewUser[i].IdentityCardNumber, vo.ID);
                    logParams += String.Format("ID: \"{0}\" => \"{1}\", UserName: \"{2}\" => \"{3}\", Title: \"{4}\" => \"{5}\", FirstName: \"{6}\" => \"{7}\", MiddleName: \"{8}\" => \"{9}\", LastName: \"{10}\" => \"{11}\", MothersMaidenName: \"{12}\" => \"{13}\", EMail: \"{14}\" => \"{15}\", IdentityCardNumber: \"{16}\" => \"{17}\", LastLogin: \"{18}\" => \"{19}\"", vo.ID, pNewUser[i].ID, vo.UserName, pNewUser[i].UserName, vo.Title, pNewUser[i].Title, vo.FirstName, pNewUser[i].FirstName, vo.MiddleName, pNewUser[i].MiddleName, vo.LastName, pNewUser[i].LastName, vo.MothersMaidenName, pNewUser[i].MothersMaidenName, vo.EMail, pNewUser[i].EMail, vo.IdentityCardNumber, pNewUser[i].IdentityCardNumber, vo.LastLogin, pNewUser[i].LastLogin);

                    result.Add(new UserVO(vo.ID, pNewUser[i].UserName, pNewUser[i].Title, pNewUser[i].FirstName, pNewUser[i].MiddleName, pNewUser[i].LastName, pNewUser[i].MothersMaidenName, pNewUser[i].EMail, pNewUser[i].IdentityCardNumber, lastLogin));
                }
                else
                {
                    modifyConflict = true;
                }
            }

            adapter.Dispose();

            LogService.Log("UserService", "ModifyUser", logParams);

            if (modifyConflict)
            {
                throw new ONyRException(ErrorCode.ModifyConflict);
            }
        }
        catch (ONyRException e)
        {
            LogService.LogError(e.ErrorCode, e.StackTrace);
            throw new FaultException <ONyRFaultException>(new ONyRFaultException((int)e.ErrorCode));
        }
        catch (SqlException ex)
        {
            string s = "Class: " + ex.Class + "\n";
            for (int i = 0; i < ex.Errors.Count; i++)
            {
                s += "Index #" + i + "\n" +
                     "Message: " + ex.Errors[i].Message + "\n" +
                     "LineNumber: " + ex.Errors[i].LineNumber + "\n" +
                     "Source: " + ex.Errors[i].Source + "\n" +
                     "Procedure: " + ex.Errors[i].Procedure + "\n" +
                     "Class: " + ex.Errors[i].Class + "\n";
            }
            LogService.LogError(ErrorCode.UnknownError, null, s);
            throw new FaultException <ONyRFaultException>(new ONyRFaultException((int)ErrorCode.DatabaseError));
        }
        catch (Exception e)
        {
            LogService.LogError(ErrorCode.UnknownError, e.StackTrace, e.Message);
            throw new FaultException <ONyRFaultException>(new ONyRFaultException((int)ErrorCode.UnknownError));
        }

        return(result);
    }