コード例 #1
0
        public ReferralLink CreateUserReferralLink(string userId, ReferralType referralType)
        {
            var model = new ReferralLink
            {
                UserId       = userId,
                ReferralType = referralType,
                Link         = GenerateReferralLink(),
                InsertDate   = DateTime.Now,
            };

            _context.ReferralLinks.Add(model);
            _context.SaveChanges();
            return(model);
        }
        public async Task <IReferralLink> CreateGiftCoinsLink(GiftCoinsReferralLinkRequest referralLinkRequest)
        {
            var entity = new ReferralLink
            {
                Id             = Guid.NewGuid().ToString(),
                ExpirationDate = DateTime.UtcNow.AddDays(_settings.GiftCoinsLinkSettings.ExpirationDaysLimit)
            };

            entity.Url = await _firebaseService.GenerateUrl(entity.Id);

            entity.SenderClientId = referralLinkRequest.SenderClientId;
            entity.Asset          = referralLinkRequest.Asset;
            entity.Amount         = referralLinkRequest.Amount;
            entity.Type           = referralLinkRequest.Type.ToString();
            entity.State          = ReferralLinkState.Created.ToString();

            return(await _referralLinkRepository.Create(entity));
        }
        public async Task <IReferralLink> CreateInvitationLink(InvitationReferralLinkRequest referralLinkRequest)
        {
            var entity = new ReferralLink
            {
                SenderClientId = referralLinkRequest.SenderClientId,
                Type           = referralLinkRequest.Type.ToString(),
                Id             = Guid.NewGuid().ToString(),
                ExpirationDate = null,
                Amount         = _settings.InvitationLinkSettings.RewardAmount,
                Asset          = _settings.InvitationLinkSettings.RewardAsset
            };

            entity.Url = await _firebaseService.GenerateUrl(entity.Id);

            entity.State = ReferralLinkState.Created.ToString();

            return(await _referralLinkRepository.Create(entity));
        }
コード例 #4
0
        public async Task <ReferralLink> AddReferrerLinkAsync(string ownerId, string hostname)
        {
            string FullUrl  = hostname + "/" + ownerId;
            Link   old_link = await Links.OrderBy(l => l.Number).LastOrDefaultAsync();

            int          new_num = old_link is null ? 1 : (old_link.Number + 1);
            string       id      = StringGenerator.getString(new_num);
            ReferralLink link    = new ReferralLink
            {
                Id      = id,
                Number  = new_num,
                FullUrl = FullUrl,
                Clicks  = new List <Click>(),
                OwnerId = ownerId
            };
            await Links.AddAsync(link);

            return(link);
        }
コード例 #5
0
ファイル: Login.aspx.cs プロジェクト: yuelinsoft/himedi
        //登录按钮事件
        public void btnAdminLogin_Click(object sender, EventArgs e)
        {
            if (!HiContext.Current.CheckVerifyCode(txtCode.Text.Trim()))
            {
                ShowMessage("验证码不正确");
            }
            else
            {
                IUser user = Users.GetUser(0, txtAdminName.Text, false, true);

                if (((user == null) || user.IsAnonymous) || (user.UserRole != UserRole.SiteManager))
                {
                    ShowMessage("无效的用户信息");
                }
                else
                {
                    string referralLink = null;

                    SiteManager manager = user as SiteManager;

                    manager.Password = txtAdminPassWord.Text;

                    switch (ManagerHelper.ValidLogin(manager))
                    {
                    case LoginUserStatus.InvalidCredentials:
                    {
                        ShowMessage("用户名或密码错误");
                        return;
                    }

                    case LoginUserStatus.AccountPending:
                    {
                        ShowMessage("用户账号还没有通过审核");
                        return;
                    }

                    case LoginUserStatus.AccountLockedOut:
                    {
                        ShowMessage("用户账号已被锁定,暂时不能登录系统");
                        return;
                    }

                    case LoginUserStatus.Success:
                    {
                        HttpCookie authCookie = FormsAuthentication.GetAuthCookie(manager.Username, false);

                        manager.GetUserCookie().WriteCookie(authCookie, 30, false);

                        HiContext.Current.User = manager;

                        if (!string.IsNullOrEmpty(Page.Request.QueryString["returnUrl"]))
                        {
                            referralLink = Page.Request.QueryString["returnUrl"];
                        }

                        if (!(((referralLink != null) || (ReferralLink == null)) || string.IsNullOrEmpty(ReferralLink.Trim())))
                        {
                            referralLink = ReferralLink;
                        }

                        if (!(string.IsNullOrEmpty(referralLink) || (((referralLink.ToLower().IndexOf(Globals.GetSiteUrls().Logout.ToLower()) < 0) && (referralLink.ToLower().IndexOf(Globals.GetSiteUrls().UrlData.FormatUrl("register").ToLower()) < 0)) && (referralLink.ToLower().IndexOf(Globals.GetSiteUrls().UrlData.FormatUrl("vote").ToLower()) < 0))))
                        {
                            referralLink = null;
                        }

                        if (referralLink != null)
                        {
                            Page.Response.Redirect(referralLink, true);
                        }
                        else
                        {
                            Page.Response.Redirect("default.aspx", true);
                        }

                        return;
                    }
                    }
                    ShowMessage("登录失败,未知错误");
                }
            }
        }