Exemplo n.º 1
0
        private async Task <ActionResult> GetUserInfo(ApplicationUser user)
        {
            try
            {
                if (user == null)
                {
                    return(HttpNotFound());
                }



                var role = (await this.UserManager.GetRolesAsync(user.UserName)).FirstOrDefault();
                UserInfoViewModel menber = null;
                if (user.MemberInfo == null)
                {
                    menber = await(from member in this.AppDbContext.Members
                                   where member.MemberID.Equals(user.UserName)
                                   select new UserInfoViewModel
                    {
                        ID                   = member.MemberID,
                        Name                 = member.Name ?? "",
                        Level                = member.Level ?? "",
                        Role                 = role ?? "",
                        RegisterDate         = member.RegisterDate.ToString("yyyy'-'MM'-'dd"),
                        NeedToChangePassword = user.ChangedPassword == false
                    }).FirstOrDefaultAsync();
                }
                else
                {
                    menber = new UserInfoViewModel
                    {
                        ID                   = user.MemberInfo.MemberID,
                        Name                 = user.MemberInfo.Name ?? "",
                        Level                = user.MemberInfo.Level ?? "",
                        Role                 = role ?? "",
                        RegisterDate         = user.MemberInfo.RegisterDate.ToString("yyyy'-'MM'-'dd"),
                        NeedToChangePassword = user.ChangedPassword == false
                    };
                }

                if (menber == null)
                {
                    return(HttpNotFound());
                }

                MemberPointRule pointRule = await this.GetPointRule();

                menber.SelfPointRate  = pointRule.GetPointRate(menber.Level, LevelRelation.Self).ValueOfNumber;
                menber.Down1PointRate = pointRule.GetPointRate(menber.Level, LevelRelation.Son).ValueOfNumber;
                menber.Down2PointRate = pointRule.GetPointRate(menber.Level, LevelRelation.Grandson).ValueOfNumber;

                menber.Level = GetLevelDisplayName(menber.Level);

                return(JsonMessage.JsonResult(menber));
            }
            catch (Exception e)
            {
                return(JsonMessage.BadRequestJsonResult(new
                {
                    Message = e.Message
                }));
            }
        }