Exemple #1
0
        internal List <VirtualUser> GetVirtualUser(List <string> userIDs)
        {
            List <VirtualUser> listUser = new List <VirtualUser>();

            if (userIDs.Count == 0)
            {
                return(listUser);
            }
            try
            {
                PersonnelWS.PersonnelServiceClient personService = new PersonnelWS.PersonnelServiceClient();

                List <PersonnelWS.T_HR_EMPLOYEE> employeeList = personService.GetEmployeeByIDs(userIDs.ToArray()).ToList();

                employeeList.ForEach(employeeHR =>
                {
                    VirtualUser vu = new VirtualUser();
                    vu.ID          = employeeHR.EMPLOYEEID;
                    vu.Name        = employeeHR.EMPLOYEECNAME + "(" + employeeHR.EMPLOYEECODE + ")";
                    listUser.Add(vu);
                });
            }
            catch (Exception ex)
            {
                SystemBLL.Debug(ex.ToString());
            }
            return(listUser);
        }
        //Returns a list of sentences said by the virtual player
        public List <VirtualUserChatCommands> GetVirtualUserChatCommands(VirtualUser user)
        {
            var chatCommands = from c in db.VirtualUserChatCommans
                               where c.VirtualUser.Id == user.Id
                               select c;

            return(chatCommands.ToList());
        }
        public DreamAThousandDeaths_Tests()
        {
            spirit = new Bringer();
            User   = new VirtualUser(spirit);
            board  = Board.BuildBoardA();
            gs     = new GameState(spirit, board);
            ctx    = MakeFreshCtx();

            // Disable destroying presence
//			ctx.GameState.AddBlightSideEffect = (gs,space) => new AddBlightEffect { Cascade=false,DestroyPresence=false };
            ctx.GameState.ModifyBlightAddedEffect.ForGame.Add(x => { x.Cascade = false; x.DestroyPresence = false; });
        }
        public BeliefTakesRoot_Tests()
        {
            spirit    = new LightningsSwiftStrike();
            User      = new VirtualUser(spirit);
            gameState = new GameState(spirit, Board.BuildBoardA());
            gameState.DisableInvaderDeck();
            gameState.Initialize();
            gameState.Fear.Deck.Pop();
            gameState.Fear.AddCard(new BeliefTakesRoot());

            invaderCard = InvaderDeck.Level1Cards[0];
            ravageSpace = gameState.Island.Boards[0].Spaces.Where(invaderCard.Matches).First();
        }
Exemple #5
0
        public Clickker()
        {
            InitializeComponent();

            Subscribe(Hook.GlobalEvents());
            vu = new VirtualUser();

            clickBind        = Keys.F6;
            specialClickBind = Keys.F7;

            lbl_ClickBind.Text        = clickBind.ToString();
            lbl_SpecialClickBind.Text = specialClickBind.ToString();
        }
Exemple #6
0
        public async Task <IActionResult> CloseAccount()
        {
            var checkResult = await CheckUserRegisteredOkAsync();

            if (checkResult != null)
            {
                return(checkResult);
            }

            return(View(new CloseAccountViewModel
            {
                IsSoleUserOfOneOrMoreOrganisations = VirtualUser.IsSoleUserOfOneOrMoreOrganisations()
            }));
        }
        public ThunderCards()
        {
            spirit = new Thunderspeaker {
                Energy = 20
            };
            User = new VirtualUser(spirit);

            // Given: empty board
            a  = Board.BuildBoardA();
            gs = new GameState(spirit, a);

            // And: Spirit in spot 1
            spirit.Presence.PlaceOn(a[1], gs);

            action = spirit.Action;
        }
    public void Move5()
    {
        // Setup
        var spirit    = new TestSpirit(PowerCard.For <WrapInWingsOfSunlight>());
        var user      = new VirtualUser(spirit);
        var board     = Board.BuildBoardA();
        var gameState = new GameState(spirit, board);

        gameState.DisableInvaderDeck();
        gameState.Initialize();

        // Given: A3 has 10 Dahans
        var src = board[3];

        gameState.Tokens[src].Dahan.Init(10);

        //  And: spirit has presence on A3
        spirit.Presence.PlaceOn(src, gameState);

        //  And: Destination has no Dahan on it
        var dst = board[1];

        gameState.Tokens[dst].Dahan.Init(0);
        public async Task <IActionResult> VerifyEmail(string code = null)
        {
            //Ensure user has completed the registration process
            var checkResult = await CheckUserRegisteredOkAsync();

            if (checkResult != null)
            {
                return(checkResult);
            }

            if (VirtualUser != null && !VirtualUser.EmailVerifiedDate.EqualsI(null, DateTime.MinValue))
            {
                if (SharedBusinessLogic.AuthorisationBusinessLogic.IsAdministrator(VirtualUser))
                {
                    return(RedirectToAction("Home", "Admin"));
                }

                return(RedirectToAction("EmailConfirmed"));
            }

            //Make sure we are coming from EnterCalculations or the user is logged in
            var m = UnstashModel <SignUpViewModel>();

            if (m == null && VirtualUser == null)
            {
                return(new ChallengeResult());
            }

            var model = new VerifyViewModel {
                EmailAddress = VirtualUser.EmailAddress
            };

            //If email not sent
            if (VirtualUser.EmailVerifySendDate.EqualsI(null, DateTime.MinValue))
            {
                var verifyCode = await SendVerifyCodeAsync(VirtualUser);

                if (string.IsNullOrWhiteSpace(verifyCode))
                {
                    return(View("CustomError", WebService.ErrorViewModelFactory.Create(1004)));
                }

                ClearStash();

                model.Sent = true;

                //If the email address is a test email then add to viewbag

                if (VirtualUser.EmailAddress.StartsWithI(SharedBusinessLogic.SharedOptions.TestPrefix) ||
                    SharedBusinessLogic.SharedOptions.ShowEmailVerifyLink)
                {
                    ViewBag.VerifyCode = verifyCode;
                }

                //Tell them to verify email

                return(View("VerifyEmail", model));
            }

            //If verification code has expired
            if (VirtualUser.EmailVerifySendDate.Value.AddHours(SharedBusinessLogic.SharedOptions
                                                               .EmailVerificationExpiryHours) < VirtualDateTime.Now)
            {
                AddModelError(3016);

                model.Resend = true;

                //prompt user to click to request a new one
                this.CleanModelErrors <VerifyViewModel>();
                return(View("VerifyEmail", model));
            }

            var remainingLock = VirtualUser.VerifyAttemptDate == null
                ? TimeSpan.Zero
                : VirtualUser.VerifyAttemptDate.Value.AddMinutes(SharedBusinessLogic.SharedOptions.LockoutMinutes) -
                                VirtualDateTime.Now;
            var remainingResend =
                VirtualUser.EmailVerifySendDate.Value.AddHours(SharedBusinessLogic.SharedOptions
                                                               .EmailVerificationMinResendHours)
                - VirtualDateTime.Now;

            if (string.IsNullOrEmpty(code))
            {
                if (remainingResend > TimeSpan.Zero)
                {
                    //Prompt to check email or wait
                    return(View("CustomError",
                                WebService.ErrorViewModelFactory.Create(1102,
                                                                        new { remainingTime = remainingLock.ToFriendly(maxParts: 2) })));
                }

                //Prompt to click resend
                model.Resend = true;
                return(View("VerifyEmail", model));
            }

            //If too many wrong attempts
            if (VirtualUser.VerifyAttempts >= SharedBusinessLogic.SharedOptions.MaxEmailVerifyAttempts &&
                remainingLock > TimeSpan.Zero)
            {
                return(View("CustomError",
                            WebService.ErrorViewModelFactory.Create(1110,
                                                                    new { remainingTime = remainingLock.ToFriendly(maxParts: 2) })));
            }

            ActionResult result;

            if (VirtualUser.EmailVerifyHash != Crypto.GetSHA512Checksum(code))
            {
                VirtualUser.VerifyAttempts++;

                //If code min time has elapsed
                if (remainingResend <= TimeSpan.Zero)
                {
                    model.Resend = true;
                    AddModelError(3004);

                    //Prompt user to request a new verification code
                    this.CleanModelErrors <VerifyViewModel>();
                    result = View("VerifyEmail", model);
                }
                else if (VirtualUser.VerifyAttempts >= SharedBusinessLogic.SharedOptions.MaxEmailVerifyAttempts &&
                         remainingLock > TimeSpan.Zero)
                {
                    return(View("CustomError",
                                WebService.ErrorViewModelFactory.Create(1110,
                                                                        new { remainingTime = remainingLock.ToFriendly(maxParts: 2) })));
                }
                else
                {
                    result = View("CustomError", WebService.ErrorViewModelFactory.Create(1111));
                }
            }
            else
            {
                //Set the user as verified
                VirtualUser.EmailVerifiedDate = VirtualDateTime.Now;

                //Mark the user as active
                VirtualUser.SetStatus(UserStatuses.Active, OriginalUser ?? VirtualUser, "Email verified");

                //Get any saved fasttrack codes
                PendingFasttrackCodes = VirtualUser.GetSetting(UserSettingKeys.PendingFasttrackCodes);
                VirtualUser.SetSetting(UserSettingKeys.PendingFasttrackCodes, null);

                VirtualUser.VerifyAttempts = 0;

                //If not an administrator show confirmation action to choose next step
                result = RedirectToAction("EmailConfirmed");
            }

            VirtualUser.VerifyAttemptDate = VirtualDateTime.Now;

            //Save the current user
            await SharedBusinessLogic.DataRepository.SaveChangesAsync();

            //Prompt the user with confirmation
            return(result);
        }
Exemple #10
0
 public Fear_Tests()
 {
     spirit = new RiverSurges();
     user   = new VirtualUser(spirit);
     gs     = new GameState(spirit, Board.BuildBoardA());
 }
Exemple #11
0
        /// <summary>
        /// 可用额度汇总
        /// </summary>
        /// <param name="qe"></param>
        /// <returns></returns>
        public List <FBEntity> QueryQueryBudgetAccount(QueryExpression qe)
        {
            // qe.VisitModuleCode = typeof(T_FB_BUDGETACCOUNT).Name;
            qe.Include = new string[] { "T_FB_SUBJECT" };

            qe.QueryType = "T_FB_BUDGETACCOUNT";
            if (qe.RightType != "QueryBudgetAccount")
            {
                qe.RightType = "QueryBudgetAccount";
            }

            List <T_FB_BUDGETACCOUNT> listBudgetAccount = GetEntities <T_FB_BUDGETACCOUNT>(qe);

            List <T_FB_BUDGETACCOUNT> listBAPerson = listBudgetAccount.FindAll(item =>
            {
                return(!string.IsNullOrEmpty(item.OWNERID));
            });
            List <string> listUserIDs = listBAPerson.CreateList(item =>
            {
                return(item.OWNERID);
            });
            OrganizationBLL          orgbll         = new OrganizationBLL();
            List <VirtualUser>       listUser       = orgbll.GetVirtualUser(listUserIDs);
            List <VirtualCompany>    listCompany    = orgbll.GetVirtualCompany(qe);
            List <VirtualDepartment> listDepartment = orgbll.GetVirtualDepartment(qe);
            List <VirtualPost>       listPost       = orgbll.GetVirtualPost(qe);


            listBudgetAccount.ForEach(item =>
            {
                VirtualCompany vc = listCompany.FirstOrDefault(item2 =>
                {
                    return(item2.ID == item.OWNERCOMPANYID);
                });
                item.OWNERCOMPANYID = vc == null ? "" : vc.Name;

                VirtualDepartment vd = listDepartment.FirstOrDefault(item2 =>
                {
                    return(item2.ID == item.OWNERDEPARTMENTID);
                });
                item.OWNERDEPARTMENTID = vd == null ? "" : vd.Name;

                VirtualPost vp = listPost.FirstOrDefault(item2 =>
                {
                    return(item2.ID == item.OWNERPOSTID);
                });
                item.OWNERPOSTID = vp == null ? "" : vp.Name;

                VirtualUser vu = listUser.FirstOrDefault(item2 =>
                {
                    return(item2.ID == item.OWNERID);
                });
                item.OWNERID = vu == null ? "" : vu.Name;
            });
            listBudgetAccount = listBudgetAccount.OrderByDescending(item => item.BUDGETYEAR)
                                .ThenByDescending(item => item.BUDGETMONTH)
                                .ThenBy(item => item.ACCOUNTOBJECTTYPE)
                                .ThenBy(item => item.OWNERCOMPANYID)
                                .ThenBy(item => item.OWNERDEPARTMENTID)
                                .ThenBy(item => item.OWNERPOSTID)
                                .ThenBy(item => item.OWNERID).ToList();
            return(listBudgetAccount.ToFBEntityList());
        }
        //Gets a virtual user by name
        public VirtualUser GetVirtualUser(string name)
        {
            VirtualUser user = db.VirtualUser.Where(u => u.Name == name).FirstOrDefault();

            return(user);
        }