示例#1
0
        public void ValidateUsernameAndPasswordWrongPassword()
        {
            bool expectedResult = true;
            bool result         = UserAccessor.VerifyUsernameAndPassword("SCSYMCX", "hilo");

            Assert.AreNotEqual(expectedResult, result);
        }
示例#2
0
        /// <summary>
        /// Author: Matt LaMarche
        /// Created : 2/6/2019
        /// Similar to AuthenticateUser but returns an Employee object
        /// </summary>
        /// <param name="userName">Username for this employee to log in</param>
        /// <param name="password">Password for this employee to log in</param>
        /// <returns></returns>
        public Employee AuthenticateEmployee(string userName, string password)
        {
            Employee employee = null;


            // hast the password
            password = hashSHA256(password);

            // this is unsafe code...
            try
            {
                if (1 == UserAccessor.VerifyUsernameAndPassword(userName, password))     // if the user is verified I want to create a user object
                {
                    // the user is validated, so instantiate a user
                    employee = UserAccessor.RetrieveEmployeeByEmail(userName);

                    if (password == hashSHA256("newuser"))
                    {
                        //user.Roles.Clear();
                        //user.Roles.Add("New User");
                    }
                }
                else
                {
                    throw new ApplicationException("User not found.");
                }
            }
            catch (Exception ex)                                           // this is were we would communicate with the log
            {
                throw new ApplicationException("User not validated.", ex); // ex as the inner exception, we we are preserving the inner exception
            }

            return(employee);
        }
示例#3
0
        //[AllowAnonymous]
        public async Task <ActionResult <LeaveItemResponse> > ProViewLeaves([FromBody] ViewLeavesRequest request)
        {
            var pro_id = Int32.Parse(User.Identity.Name);

            if (await UserAccessor.CheckRole(pro_id) == Constants.Role.Student)
            {
                return(BadRequest(new { message = "ProViewLeaves is not for students." }));
            }

            var start = (request.pagenum - 1) * request.pagesize;
            var end   = request.pagenum * request.pagesize;
            LeaveItemResponse leaves = new LeaveItemResponse();

            leaves.pagenum   = request.pagenum;
            leaves.leavelist = new System.Collections.Generic.List <LeaveResponse>();

            var leave_list = await LeaveAccessor.ProViewLeaves(pro_id);

            if (leave_list != null)
            {
                for (int i = start; i < end && i < leave_list.total; i++)
                {
                    LeaveResponse lr = _mapper.Map <LeaveResponse>(leave_list.leaveItem[i]);
                    lr.student_name = await UserAccessor.GetUserName(lr.student_id);

                    lr.work_name = await WorkAccessor.GetWorkName(lr.work_id);

                    leaves.leavelist.Add(lr);
                }
                leaves.total = leave_list.total;
                return(Ok(leaves));
            }
            return(Ok(-1)); // Never arrive there
        }
示例#4
0
        private async Task <DialogTurnResult> SetFavoritesAsync(WaterfallStepContext sc, CancellationToken cancellationToken)
        {
            var convState = await ConvAccessor.GetAsync(sc.Context, () => new NewsSkillState(), cancellationToken : cancellationToken);

            var userState = await UserAccessor.GetAsync(sc.Context, () => new NewsSkillUserState(), cancellationToken : cancellationToken);

            // if intent is SetFavorites or not set in state yet
            if ((convState.LuisResult != null && convState.LuisResult.TopIntent().intent == Luis.NewsLuis.Intent.SetFavoriteTopics) || userState.Category == null)
            {
                // show card with categories the user can choose
                var categories = new PromptOptions()
                {
                    Choices = new List <Choice>(),
                };

                categories.Choices.Add(new Choice("Business"));
                categories.Choices.Add(new Choice("Entertainment"));
                categories.Choices.Add(new Choice("Health"));
                categories.Choices.Add(new Choice("Politics"));
                categories.Choices.Add(new Choice("World"));
                categories.Choices.Add(new Choice("Sports"));

                return(await sc.PromptAsync(nameof(ChoicePrompt), new PromptOptions()
                {
                    Prompt = TemplateManager.GenerateActivityForLocale(FavoriteTopicsResponses.FavoriteTopicPrompt),
                    Choices = categories.Choices
                },
                                            cancellationToken));
            }

            return(await sc.NextAsync(userState.Category, cancellationToken));
        }
示例#5
0
        public async Task <ActionResult <WorkResponse> > ChangeWorkInfo([FromBody] UpdateWorkRequest request)
        {
            //判断request里是否满足前置条件
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var provider_id = Int32.Parse(User.Identity.Name);

            if (await UserAccessor.CheckRole(provider_id) == Role.Student)
            {
                return(BadRequest(new { message = "Student cannot update work" }));
            }
            var work = _mapper.Map <WorkEntity>(request);

            work.teacher_id = provider_id;
            work.work_id    = request.work_id;
            work.total_time = CalTotalTime(request.start_day, request.end_day, request.start_time, request.end_time, request.week_day);
            if (work.total_time == 0)
            {
                return(Ok("Duration time is 0."));
            }
            await WorkAccessor.Update(work); //return work_id

            return(Ok(_mapper.Map <WorkResponse>(work)));
        }
示例#6
0
        /// <summary>
        /// Bobby Thorne
        /// 2/12/17
        /// Update
        /// Bobby Thorne
        /// 3/10/2017
        ///
        /// This will test the Text Fields to make sure that
        /// bad data is not entered when creating a new user
        ///
        /// Update
        /// added a catch for phone number and if username is
        /// already used
        ///
        /// Updated 2017-03-22 by William Flood
        /// Refactored database call to a static method to resolve issue #22
        /// </summary>
        /// <param name="user"></param>
        /// <param name="password"></param>
        /// <param name="confirmPassword"></param>
        /// <returns></returns>
        public string CreateNewUser(User user, string password, string confirmPassword)
        {
            var result = ValidateUser(user, password, confirmPassword);

            if (result != "")
            {
                return(result);
            }
            user.PasswordSalt = RandomString(32);
            user.PasswordHash = HashSha256(password + user.PasswordSalt);

            try
            {
                if (1 == UserAccessor.CreateUser(user))
                {
                    return("Created");
                }
            }
            catch
            {
                return("UnableToCreate");
            }

            return("UnableToCreate");
        }
示例#7
0
        protected BaseService()
        {
            _userAccessor = DependencyResolver.Current.GetService <UserAccessor>();
            var loggerFactory = DependencyResolver.Current.GetService <ILoggerFactory>();

            Logger = loggerFactory.CreateLogger(GetType());
        }
示例#8
0
        public User AuthenticateUser(string username, string password)
        {
            // check if the user entered the correct username and password
            User user = null;

            try
            {
                if (1 == UserAccessor.VerifyUsernameAndPassword(username, HashSHA256(password)))
                {
                    password = null;

                    //get a user
                    user = UserAccessor.RetrieveUserByUsername(username);

                    //get the roles
                    var roles = UserAccessor.RetrieveEmployeeRoles(user.EmployeeID);

                    user.Roles = roles;
                }
                else
                {
                    throw new ApplicationException("Authentication Failed!");
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(user);
        }
示例#9
0
        public async Task <ActionResult <UserResponse> > UpdateUser([FromBody] UserRequest request)
        {
            //request是否满足格式
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            //当前账户id
            var u_id = Int32.Parse(User.Identity.Name);

            //查找当前id是否存在user
            var temp = await UserAccessor.Find(u_id);

            if (temp == 1) // exists
            {
                await UserAccessor.Change(u_id, request);

                //成功更新
                var user = await UserAccessor.Read(u_id);

                return(Ok(_mapper.Map <UserResponse>(user)));
            }
            ;

            // user不存在
            return(BadRequest(new { message = "The user donot exist" }));
        }
示例#10
0
        public Response <int> AddOrUpdateUsers(AddOrUpdateUserRequest request)
        {
            Response <int> response = new Response <int>();

            if (request == null || request.UserCollection == null || !request.UserCollection.Any())
            {
                ArgumentNullException ex = new ArgumentNullException("AddOrUpdateUser request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }

            try
            {
                UserAccessor accessor = new UserAccessor();
                response.Result    = accessor.AddOrUpdateUsers(request.UserCollection);
                response.IsSuccess = true;
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
        public User AuthenticateLogin(string email)
        {
            User      _user      = null;
            UserRoles _userRoles = null;

            try
            {
                //string pwhash = HashSHA256(password);
                if (1 == UserAccessor.VerifyLoginInfo(email))
                {
                    //password = null;

                    _user = UserAccessor.RetrieveUserWithEmail(email);

                    _userRoles.Roles = UserAccessor.RetrieveUserRoles(_user.UserID);
                }
                else
                {
                    throw new ApplicationException("Incorrect email or password.");
                }
            }
            catch (Exception ex)
            {
                throw new ApplicationException("An error has occurred. " + ex.Message);
            }

            return(_user);
        }
示例#12
0
 public void Setup()
 {
     _httpContextAccessor = Substitute.For <IHttpContextAccessor>();
     _userManager         = new FakeUserManager();
     _arpaContext         = Substitute.For <IArpaContext>();
     _userAccessor        = new UserAccessor(_httpContextAccessor, _userManager, _arpaContext);
 }
        public bool RegisterUser(User user)
        {
            bool result = false;

            try
            {
                bool userCreated = 1 == UserAccessor.CreateUser(user);
                if (!userCreated)
                {
                    throw new ApplicationException("User could not be created!");
                }
                else
                {
                    foreach (var role in user.Roles)
                    {
                        if (1 != UserAccessor.CreateUserRole(user.Username, role))
                        {
                            result = false;
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(result);
        }
示例#14
0
 public int AddNewUser(string firstName,
                       string lastName,
                       string zip,
                       string emailAddress,
                       string userName,
                       string passWord,
                       bool active,
                       int?regionID)
 {
     try
     {
         var usr = new User()
         {
             FirstName    = firstName,
             LastName     = lastName,
             Zip          = zip,
             EmailAddress = emailAddress,
             UserName     = userName,
             Password     = passWord,
             Active       = active,
             RegionId     = regionID
         };
         return(UserAccessor.CreateUser(usr));
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#15
0
        /// <summary>
        /// 修改用户Token值及有效时间
        /// </summary>
        public Response <bool> UpdateToken(long ID, string Str1, string Str2)
        {
            Response <bool> response = new Response <bool>();

            UserAccessor accessor = new UserAccessor();

            try
            {
                bool result = accessor.UpdateToken(ID, Str1, Str2);
                if (result)
                {
                    response.Result    = true;
                    response.IsSuccess = true;
                }
                else
                {
                    response.Result    = false;
                    response.IsSuccess = false;
                }
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#16
0
        public bool CreateAccount(string username, string password, string firstName, string lastName, string phoneNumber, string address, string email)
        {
            var result = false;

            if (username.Length < 5 || username.Length > 20)
            {
                throw new ApplicationException("INVALID USERNAME: Your username must be at least 6 characters and no more than 20 characters long.");
            }
            else if (password.Length < 7)
            {
                throw new ApplicationException("INVALID PASSWORD: Your Password must be at least 7 characters long.");
            }

            try
            {
                if (1 == UserAccessor.AddNewUser(username, HashSHA256(password), firstName, lastName, phoneNumber, address, email))
                {
                    result = true;
                }
                else
                {
                    result = false;
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(result);
        }
示例#17
0
        public Response <GetUsersByConditionResponse> GetUsersByConditon(GetUsersByConditionRequest request)
        {
            Response <GetUsersByConditionResponse> response = new Response <GetUsersByConditionResponse>()
            {
                Result = new GetUsersByConditionResponse()
            };

            if (request == null)
            {
                ArgumentNullException ex = new ArgumentNullException("GetUsersByConditon request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }

            try
            {
                UserAccessor accessor = new UserAccessor();
                int          rowCount;
                response.Result.Users     = accessor.GetUsersByConditon(request.Name, request.DisplyName, request.State, request.UserType, request.PageIndex, request.PageSize, request.ProjectID, out rowCount).ToList();
                response.Result.PageIndex = request.PageIndex;
                response.Result.PageCount = rowCount % request.PageSize == 0 ? rowCount / request.PageSize : rowCount / request.PageSize + 1;
                response.IsSuccess        = true;
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#18
0
        public Response <User> CheckLogin(GetUserByCheckLoginRequest request)
        {
            Response <User> response = new Response <User>();

            if (request == null || string.IsNullOrEmpty(request.Name) || string.IsNullOrEmpty(request.Password) || request.ProjectID == 0)
            {
                ArgumentNullException ex = new ArgumentNullException("CheckLogin request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }
            UserAccessor accessor = new UserAccessor();

            try
            {
                response.Result    = accessor.CheckLoginUser(request.Name, request.Password, request.ProjectID);
                response.IsSuccess = true;
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#19
0
        /// <summary>
        /// Created by William Flood
        /// 2017/03/02
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="oldPassword"></param>
        /// <param name="newPassword"></param>
        /// <param name="confirmPassword"></param>
        /// <returns></returns>
        public int ChangePassword(String userName, String oldPassword, String newPassword, String confirmPassword)
        {
            var returnValue = 0;

            if (newPassword.Equals(confirmPassword))
            {
                String oldSalt = UserAccessor.RetrieveUserSalt(userName);
                String oldHash = HashSha256(oldPassword + oldSalt);
                String newSalt = RandomString(32);
                String newHash = HashSha256(newPassword + newSalt);
                try
                {
                    returnValue = UserAccessor.UpdatePassword(userName, oldSalt, oldHash, newSalt, newHash);
                }
                catch
                {
                    throw;
                }
            }
            else
            {
                returnValue = 0;
            }
            return(returnValue);
        }
示例#20
0
        /// <summary>
        /// 获取某个项目下的用户
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Response <IEnumerable <UserRequest> > GetUserByProjetId(UserRequest request)
        {
            Response <IEnumerable <UserRequest> > response = new Response <IEnumerable <UserRequest> >();

            if (request == null)
            {
                ArgumentNullException ex = new ArgumentNullException("GetUserByProjetId request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }
            try
            {
                UserAccessor accessor = new UserAccessor();
                accessor.GetUserByProjectId(request.ProjectId);
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#21
0
        public AccessToken ValidateExistingUser(string username, string password)
        {
            AccessToken accessToken;

            if (username.Length < MIN_USERNAME || password.Length < MIN_PASSWORD)
            {
                throw new ApplicationException("Invalid username or password.");
            }

            try
            {
                if (1 == UserAccessor.RetrieveUserByUsernameAndPassword(username, password.HashSha256()))
                {
                    var user        = UserAccessor.RetrieveUserByUsername(username);
                    var roles       = UserAccessor.RetrieveRolesByUserID(user.UserID);
                    var activeRoles = roles.Where(r => r.Active == true).ToList();
                    accessToken = new AccessToken(user, activeRoles);
                }
                else
                {
                    throw new ApplicationException("Invalid username or password.");
                }
            }
            catch
            {
                throw;
            }
            return(accessToken);
        }
示例#22
0
        public Response <bool> EditUser(UserRequest request)
        {
            Response <bool> response = new Response <bool>();

            if (request == null || request.ID == 0 || string.IsNullOrEmpty(request.Name) || string.IsNullOrEmpty(request.DisplayName))
            {
                ArgumentNullException ex = new ArgumentNullException("EditUser request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }

            try
            {
                UserAccessor accessor = new UserAccessor();
                accessor.UpdateUser(request.ID, request.Name, request.UserName, request.ProjectId, request.ProjectRoleId, request.DisplayName, request.State, request.Sex, request.Tel, request.Mobile, request.Email, request.UserType, request.CustomerOrShipperID, request.RuleArea);
                response.IsSuccess = true;
                response.Result    = true;
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#23
0
        //[AllowAnonymous]
        public async Task <ActionResult <WorkItemResponse> > ViewHistoryWork([FromBody] ViewWorkRequest request)
        {
            var pro_id = Int32.Parse(User.Identity.Name);

            if (await UserAccessor.CheckRole(pro_id) == Role.Student)
            {
                return(BadRequest(new { message = "ViewHistoryWork is not for students. Students please try ViewOwnWork." }));
            }

            WorkItemResponse workItem = new WorkItemResponse();
            var start = (request.pagenum - 1) * request.pagesize;
            var end   = request.pagenum * request.pagesize;

            workItem.totalpage = start;
            workItem.pagenum   = request.pagenum;
            workItem.worklist  = new List <WorkResponse>();
            var provide_list = await WorkAccessor.FindHistoryWork(pro_id);

            if (provide_list != null)
            {
                for (int i = start; i < end && i < provide_list.total; ++i)
                {
                    WorkResponse wr = _mapper.Map <WorkResponse>(provide_list.workItem[i]);
                    workItem.worklist.Add(wr);
                }
                workItem.totalpage = provide_list.total;
                return(Ok(workItem));
            }
            return(Ok(-1)); // Never arrive there
        }
示例#24
0
        /// <summary>
        /// 根据用户登录名获取密码相关信息
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Response <IEnumerable <User> > GetUserPassword(GetUserProjectsRequest request)
        {
            Response <IEnumerable <User> > response = new Response <IEnumerable <User> >();

            if (request == null || string.IsNullOrEmpty(request.UserName))
            {
                ArgumentNullException ex = new ArgumentNullException("GetUserPassword request");
                LogError(ex);
                response.ErrorCode = ErrorCode.Argument;
                response.Exception = ex;
                return(response);
            }

            UserAccessor accessor = new UserAccessor();

            try
            {
                response.Result    = accessor.GetUserPassword(request.UserName);
                response.IsSuccess = true;
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#25
0
        public async Task <int> Getresign([FromBody] FindworkRequest request)
        {
            //判断request里是否满足前置条件
            if (!ModelState.IsValid)
            {
                return(-1);
            }
            var user_id = Int32.Parse(User.Identity.Name);

            if (await UserAccessor.CheckRole(user_id) != Role.Student)
            {
                return(-2);
            }
            TakesEntity entity = new TakesEntity();

            entity.work_id    = request.work_id;
            entity.student_id = user_id;
            MessageEntity temp_entity = new MessageEntity();
            var           work_name   = await WorkAccessor.GetWorkName(request.work_id);

            var student_name = await UserAccessor.GetUserName(user_id);

            temp_entity.message_type = 0;
            temp_entity.content      = student_name + "同学辞去" + work_name + "工作。";
            temp_entity.sender_id    = user_id;
            temp_entity.receiver_id  = await WorkAccessor.GetTeacher(request.work_id);

            var num = await TakesAccessor.GetRegion(entity);

            await MessageAccessor.Create(temp_entity, 1);

            return(num);
        }
示例#26
0
        public Response <bool> ValidationUser(UserRequest request)
        {
            Response <bool> response = new Response <bool>();

            try
            {
                UserAccessor accessor = new UserAccessor();
                bool         result   = accessor.ValidationUser(request.Name);
                if (result)
                {
                    response.Result    = true;
                    response.IsSuccess = true;
                }
                else
                {
                    response.Result    = false;
                    response.IsSuccess = false;
                }
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#27
0
        private async Task <DialogTurnResult> FindEvents(WaterfallStepContext sc, CancellationToken cancellationToken)
        {
            var userState = await UserAccessor.GetAsync(sc.Context, () => new EventSkillUserState());

            var          location = userState.Location;
            List <Event> events   = await _eventbriteService.GetEventsAsync(location);

            List <Card> cards = new List <Card>();

            foreach (var item in events)
            {
                var eventCardData = new EventCardData()
                {
                    Title     = item.Name.Text,
                    ImageUrl  = item?.Logo?.Url ?? " ",
                    StartDate = item.Start.Local.ToString("dddd, MMMM dd, h:mm tt"),
                    Location  = GetVenueLocation(item),
                    Price     = item.IsFree ? "Free" : "Starts at " +
                                Convert.ToDouble(item.TicketAvailability.MinTicketPrice.MajorValue)
                                .ToString("C", System.Globalization.CultureInfo.GetCultureInfo(item.Locale.Replace("_", "-"))),
                    Url = item.Url
                };

                cards.Add(new Card(GetCardName(sc.Context, "EventCard"), eventCardData));
            }

            await sc.Context.SendActivityAsync(ResponseManager.GetCardResponse(FindEventsResponses.FoundEvents, cards, null));

            return(await sc.EndDialogAsync());
        }
示例#28
0
        public Response <long> RegisterUser(UserRequest request)
        {
            Response <long> response = new Response <long>();

            UserAccessor accessor = new UserAccessor();

            try
            {
                int  returnVal = 0;
                long userID    = accessor.RegisterUser(request.Name, request.DisplayName, request.Password, request.State, request.Sex, request.Tel, request.Mobile, request.Email, request.UserType, request.CustomerOrShipperID, out returnVal);
                if (returnVal == 1)
                {
                    response.IsSuccess = true;
                    response.Result    = userID;
                }
                else
                {
                    response.IsSuccess = false;
                    response.Result    = returnVal;
                }
            }
            catch (Exception ex)
            {
                LogError(ex);
                response.IsSuccess = false;
                response.ErrorCode = ErrorCode.Technical;
            }

            return(response);
        }
示例#29
0
        /// <summary>
        /// Authenticates employee
        /// </summary>
        /// <param name="username">Entered username</param>
        /// <param name="password">Entered password</param>
        /// <returns>Returns User if Authentication Passes</returns>
        public User AuthenticateUser(string username, string password)
        {
            User user = null;

            //Username & Password pre-validation
            if (username.Length < 5 || username.Length > 20)
            {
                throw new ApplicationException("Invalid Username");
            }
            if (password.Length < 3) // we really need a better method
            {                        // possibly a regex for complexity
                throw new ApplicationException("Invalid Password");
            }

            try
            {
                if (UserAccessor.VerifyUsernameAndPassword(username, password))   //HashSHA256(password) ) )
                {
                    password = null;
                    // need to create a employee object to use as an access token

                    // get a employee object
                    user = UserAccessor.RetrieveUserByUsername(username);
                }
                else
                {
                    throw new ApplicationException("Authentication Failed!");
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(user);
        }
示例#30
0
        public void ValidateUsernameAndPasswordWrongUsername()
        {
            bool expectedResult = true;
            bool result         = UserAccessor.VerifyUsernameAndPassword("SCSYMCK", "6cf615d5bcaac778352a8f1f3360d23f02f34ec182e259897fd6ce485d7870d4");

            Assert.AreNotEqual(expectedResult, result);
        }