Exemplo n.º 1
0
        public async Task <ActionResult> DeleteUsers(int[] ids)
        {
            ids.CheckNotNull("ids");
            OperationResult result = await IdentityContract.DeleteUsers(ids);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> Login(LoginInfo loginInfo)
        {
            if (!ModelState.IsValid)
            {
                return(Json(new AjaxResult("提交信息验证失败", AjaxResultType.Error)));
            }
            if (!SecurityHelper.CheckVerify(loginInfo.VerifyCode, true))
            {
                return(Json(new AjaxResult("验证码错误,请刷新重试", AjaxResultType.Error)));
            }
            OperationResult <User> result = await IdentityContract.Login(loginInfo, true);

            if (!result.Successed)
            {
                return(Json(result.ToAjaxResult()));
            }
            User user = result.Data;
            await SignInManager.SignInAsync(user, loginInfo.Remember, true);

            IList <string> roles = await UserManager.GetRolesAsync(user.Id);

            var data = new
            {
                User      = new { UserId = user.Id, user.UserName, user.NickName, user.Email, UserRole = roles.ExpandAndToString() },
                SessionId = Session.SessionID
            };

            return(Json(new AjaxResult("登录成功", AjaxResultType.Success, data)));
        }
Exemplo n.º 3
0
        public async Task <ActionResult> SetUserRoles(int userId, string strRoleIds)
        {
            var roleIds = JsonToEntity <int[]>(strRoleIds);
            var result  = await IdentityContract.SetUserRoles(userId, roleIds);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 4
0
        public async Task <ActionResult> SaveOrganizationData(SysOrganizationDto[] dtos)
        {
            dtos.CheckNotNull("dtos");
            OperationResult result = await IdentityContract.SaveOrganizations(dtos);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 5
0
        public ActionResult CreateBankCard(UserBankCardInputDto dto)
        {
            dto.CheckNotNull(nameof(dto));
            dto.UserId = CurrentUser.Id;
            OperationResult result = IdentityContract.AddUserBankCards(dto);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 6
0
        public async Task <ActionResult> CheckEmail(string name)
        {
            //检查
            bool isExit = await IdentityContract.CheckUserExists(user => user.Email == name);

            var result = new { isQnique = !isExit };

            return(Json(result));
        }
Exemplo n.º 7
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            model.CheckNotNull(nameof(model));

            if (Session["Reg_EmailCode"] == null || Session["Reg_EmailCode"].ToString() != model.EmailCode)
            {
                return(Json(new AjaxResult("验证码错误", AjaxResultType.Error)));
            }

            UserInputDto dto = model.MapTo <UserInputDto>();

            dto.NickName       = dto.UserName;
            dto.RecommendId    = dto.RecommendId == 0 ? 1 : dto.RecommendId;
            dto.EmailConfirmed = true; //邮箱通过验证

            OperationResult result = await IdentityContract.CreateUsers(dto);

            if (result.ResultType == OperationResultType.Success)
            {
                //初始化用户角色
                User newuser = IdentityContract.Users.SingleOrDefault(u => u.UserName == dto.UserName);
                if (newuser != null)
                {
                    UserRoleMapInputDto mapDto = new UserRoleMapInputDto()
                    {
                        UserId = newuser.Id, RoleId = 2
                    };
                    result = await IdentityContract.CreateUserRoleMaps(mapDto);

                    if (!result.Successed)
                    {
                        return(Json(new AjaxResult(result.Message, AjaxResultType.Error)));
                    }
                }
                #region 用户登录
                LoginInfo loginInfo = new LoginInfo
                {
                    UserName = dto.UserName,
                    Password = dto.Password,
                    Remember = false
                };
                OperationResult <User> loginresult = await IdentityContract.Login(loginInfo, true);

                if (loginresult.ResultType == OperationResultType.Success)
                {
                    User user = loginresult.Data;
                    AuthenticationManager.SignOut();
                    await SignInManager.SignInAsync(user, loginInfo.Remember, true);
                }
                #endregion
                return(Json(new AjaxResult("登录成功", AjaxResultType.Success)));
            }
            else
            {
                return(Json(new AjaxResult(result.Message, AjaxResultType.Error)));
            }
        }
Exemplo n.º 8
0
        public async Task <ActionResult> SetNewPassword(UserPasswordInputDto dto)
        {
            dto.CheckNotNull(nameof(dto));
            dto.Id = CurrentUser.Id;

            OperationResult result = await IdentityContract.UpdateUserPassword(dto);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 9
0
        public async Task <ActionResult> CreateTransaction(TransactionInfo info)
        {
            info.CheckNotNull(nameof(info));

            info.UserId = CurrentUser.Id;
            OperationResult result = await IdentityContract.Transaction(info);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 10
0
        public ActionResult DelCollect(int?id)
        {
            OperationResult result = OperationResult.NoChanged;

            if (id.HasValue && id.Value > 0)
            {
                result = IdentityContract.DeleteCollects(id.Value);
            }
            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 11
0
        public IHttpActionResult ModuleData(LoginInfo loginInfo)
        {
            User user = UserManager.FindByName <User, int>(loginInfo.UserName);

#if DEBUG
            System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
            stopwatch.Start();
#endif
            var userModules = IdentityContract.GetUserRoleModules(user);
            //var result = (from userModule in userModules
            //              select new
            //              {
            //                  Id = userModule.Id,
            //                  Name = userModule.Name,
            //                  Remark = userModule.Remark,
            //                  OrderCode = userModule.OrderCode,
            //                  //TreePathString = userModule.TreePathString,
            //                  Parent_Id = userModule.Parent?.Id,
            //                  Functions = userModule.Functions,
            //              });
            //var result = userModules.AsQueryable().ToList().Select(x=>new { x.Id,x.Name,x.Remark,x.OrderCode, Parent_Id = x.Parent.Id, Functions = x.Functions});

            //List<Object> dataList = new List<object>();
            //using (IEnumerator<object> iterator = result.GetEnumerator())
            //{
            //    int count = 1;
            //    object current = iterator.Current;
            //    while (iterator.MoveNext())
            //    {
            //        count++;
            //        current = iterator.Current;
            //        dataList.Add(current);
            //    }
            //}
#if DEBUG
            stopwatch.Stop();
            System.Diagnostics.Debug.Print("登陆查询菜单用时(毫秒):" + stopwatch.ElapsedMilliseconds);
#endif
            if (userModules.Any())
            {
                PageResult <object> pageResult = new PageResult <object>();


                pageResult.Data = userModules.ToArray();

                pageResult.Total = userModules.Count();

                return(Json(new OperationResult(OperationResultType.Success, "查询用户模块数据成功!", pageResult)));
            }
            else
            {
                return(Json(new OperationResult(OperationResultType.Error, "查询用户模块数据失败!")));
            }
        }
Exemplo n.º 12
0
        public async Task <ActionResult> EditProfile(EditProfileViewModel model)
        {
            UserExtendInputDto dto = new UserExtendInputDto {
                Id          = CurrentUser.Id,
                NickName    = model.NickName,
                PhoneNumber = model.PhoneNumber,
                Sex         = model.Sex,
                Birthday    = model.Birthday
            };
            OperationResult result = await IdentityContract.UpdateUserBase(dto);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 13
0
        public async Task <IHttpActionResult> Update(params UserInputDto[] dtos)
        {
            try
            {
                dtos.CheckNotNull("dtos");
                OperationResult result = await IdentityContract.EditUsers(dtos);

                return(Json(result));
            }
            catch (Exception ex)
            {
                return(Json(new OperationResult(OperationResultType.Error, "修改用户!" + ex.ToString())));
            }
        }
Exemplo n.º 14
0
        public async Task <IHttpActionResult> Remove(int[] ids)
        {
            try
            {
                ids.CheckNotNull("ids");
                OperationResult result = await IdentityContract.DeleteUsers(ids);

                return(Json(result));
            }
            catch (Exception ex)
            {
                return(Json(new OperationResult(OperationResultType.Error, "删除用户!" + ex.ToString())));
            }
        }
Exemplo n.º 15
0
        public async Task <IHttpActionResult> Add(params UserInputDto[] dtos)
        {
            try
            {
                dtos.CheckNotNull("dtos");
                dtos.First().Password  = "******";
                OperationResult result = await IdentityContract.AddUsers(dtos);

                return(Json(result));
            }
            catch (Exception ex)
            {
                return(Json(new OperationResult(OperationResultType.Error, "添加用户!" + ex.ToString())));
            }
        }
Exemplo n.º 16
0
        public async Task <ActionResult> AddSysUser(string account, string pwd)
        {
            var count = IdentityContract.Users.Count(x => x.UserName == account);

            if (count > 0)
            {
                return(Json(new OperationResult(OperationResultType.QueryNull, "此账号已存在").ToAjaxResult()));
            }
            SysUserDto dto = new SysUserDto
            {
                UserName = account,
                Password = pwd
            };
            OperationResult result = await IdentityContract.SaveUsers(dto);

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 17
0
        public ActionResult CreateDeliverAddress(DeliverAddressInputDto dto)
        {
            dto.CheckNotNull(nameof(dto));
            dto.UserId = CurrentUser.Id;
            OperationResult result;

            if (dto.Id > 0)
            {
                result = IdentityContract.EditDeliverAddresses(dto);
            }
            else
            {
                result = IdentityContract.AddDeliverAddresses(dto);
            }

            return(Json(result.ToAjaxResult()));
        }
Exemplo n.º 18
0
        public async Task <IHttpActionResult> Login(LoginInfo loginInfo)
        {
            Logger.Info("{0}开始登陆", loginInfo.UserName);
            var result = await IdentityContract.Login(loginInfo, false);

            OperationResult createClientResult       = new OperationResult();
            OperationResult createClientSecretResult = new OperationResult();

            if (result.Successed)
            {
                OAuthClientStore             oAuthClientStore             = ServiceProvider.GetService <OAuthClientStore>();
                OAuthClientRefreshTokenStore oAuthClientRefreshTokenStore = ServiceProvider.GetService <OAuthClientRefreshTokenStore>();
                OAuthClient         oAuthClient = new OAuthClient();
                OAuthClientInputDto clientDto   = new OAuthClientInputDto()
                {
                    Name            = loginInfo.UserName,
                    OAuthClientType = OAuthClientType.Application,
                    Url             = "http://localhost:13800/",
                    LogoUrl         = "http://localhost:13800/",
                    RedirectUrl     = "http://localhost:13800/"
                };
                try
                {
                    createClientResult = await oAuthClientStore.CreateClient(clientDto);
                }
                catch (Exception ex)
                {
                    Logger.Error("CreateClient错误:" + ex.ToString());
                }
                if (createClientResult.Successed)
                {
                    oAuthClient = oAuthClientStore.GetOAuthClient(clientDto);
                    OAuthClientSecretInputDto secretDto = new OAuthClientSecretInputDto()
                    {
                        Type     = "Test Type",
                        Remark   = "Remark",
                        ClientId = oAuthClient.Id,
                    };
                    try
                    {
                        createClientSecretResult = await oAuthClientStore.CreateClientSecret(secretDto);
                    }
                    catch (Exception ex)
                    {
                        Logger.Error("CreateClientSecret错误:" + ex.ToString());
                    }

                    if (createClientSecretResult.Successed)
                    {
                        OAuthClientSecret   oAuthClientSecret = ClientSecretRepository.Entities.Where(x => x.Client.Id == oAuthClient.Id).FirstOrDefault();
                        ClientAndSecretData data = new ClientAndSecretData();
                        data.ClientId     = oAuthClient.ClientId;
                        data.ClientSecret = oAuthClientSecret.Value;
                        result.Message    = JsonHelper.ToJson(data);

                        return(Json(new OperationResult(OperationResultType.Success, JsonHelper.ToJson(data), result.Data)));
                    }
                    else
                    {
                        return(Json(new OperationResult(OperationResultType.Error, "创建Client Secret失败!")));
                    }
                }
                else
                {
                    return(Json(new OperationResult(OperationResultType.Error, "创建Client失败!")));
                }
            }
            else
            {
                return(Json(result));
            }
        }
Exemplo n.º 19
0
        public ActionResult DoCollect(CollectViewModel model)
        {
            model.CheckNotNull(nameof(model));
            if (CurrentUser == null)
            {
                return(Json(new AjaxResult("未登录", AjaxResultType.Error)));
            }
            //获取收藏类型
            CollectType collectType = GetCollectType(model.Type);
            //检查收藏状态
            Collect collect = IdentityContract.Collects.SingleOrDefault(c => c.User.Id == CurrentUser.Id && c.AboutId == model.AboutId && c.Type == collectType);

            if (collect == null)
            {
                CollectInputDto dto = new CollectInputDto()
                {
                    UserId  = CurrentUser.Id,
                    AboutId = model.AboutId,
                    Pic     = "default",
                    Type    = collectType
                };

                if (collectType == CollectType.Goods)
                {
                    //检查商品
                    Hmh.Core.Goods.Models.Goods goods = GoodsContract.Goodss.SingleOrDefault(g => g.Id == model.AboutId);
                    if (goods == null)
                    {
                        return(Json(new AjaxResult("错误商品不存在", AjaxResultType.Error)));
                    }
                    dto.Name = goods.Name;
                }
                else
                {
                    //检查店铺
                    Hmh.Core.Shop.Models.Shop shop = ShopContract.Shops.SingleOrDefault(s => s.Id == model.AboutId);
                    if (shop == null)
                    {
                        return(Json(new AjaxResult("错误店铺不存在", AjaxResultType.Error)));
                    }
                    dto.Name = shop.Name;
                }

                OperationResult result = IdentityContract.AddCollects(dto);
                if (result.ResultType == OperationResultType.Success)
                {
                    return(Json(new AjaxResult("已收藏", AjaxResultType.Success)));
                }
                else
                {
                    return(Json(new AjaxResult("失败", AjaxResultType.Error)));
                }
            }
            else
            {
                OperationResult result = IdentityContract.DeleteCollects(collect.Id);
                if (result.ResultType == OperationResultType.Success)
                {
                    return(Json(new AjaxResult("收藏", AjaxResultType.Success)));
                }
                else
                {
                    return(Json(new AjaxResult("失败", AjaxResultType.Error)));
                }
            }
        }