Exemplo n.º 1
0
        public ActionResult UserUpdate(TS_USERDTO dto)
        {
            //验证数据模型
            if (!ModelState.IsValid)
            {
                return(View(dto));
            }

            //用户是否重复
            if (service.UserLogin(dto.C_ACCOUNT, dto.C_ID) != null)
            {
                ModelState.AddModelError("error", "登录名重复");
                return(View(dto));
            }
            else
            {
                dto.C_EMP_ID   = BaseUser.Id;
                dto.C_EMP_NAME = BaseUser.Name;
                dto.D_MOD_DT   = DateTime.Now;
                TS_USER user = AutoMapper.Mapper.Map <TS_USER>(dto);
                //修改用户
                service.UserUpdate(user);
                //部门信息更新
                service.DeptOperation(dto);
                dto.ResultType = 1;
                return(View(dto));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 关联客户档案
        /// </summary>
        /// <param name="dto"></param>
        public int Relation(TS_CUSTFILEDTO dto, out string msg)
        {
            int result = 0;

            try
            {
                TS_USER user = _UserMenu.First(x => x.C_ID.Equals(dto.C_EXTEND1));
                var     ef   = _CustFile.FirstOrDefault(x => x.C_ID.Equals(dto.C_EXTEND2));
                if (ef != null && ef.C_NAME == user.C_SHORTNAME)
                {
                    user.C_CUST_ID = dto.C_EXTEND2;
                    UserUpdate(user);
                    result = 1;
                    msg    = "关联成功!";
                }
                else
                {
                    msg = "客户档案名称与公司名不一致!";
                }
            }
            catch (Exception ex)
            {
                msg = ex.Message;
                return(0);
            }
            return(result);
        }
Exemplo n.º 3
0
        public AjaxResult PasswordUpdate(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                //获取EF用户
                TS_USER user    = service.CheckToken(Token);
                var     appUser = jData.ToObject <AppCurrentUser>();
                if (user.C_PASSWORD == Encrypt.MD5(appUser.OldPw))
                {
                    user.C_PASSWORD = Encrypt.MD5(appUser.NewPw);
                    service.Update(user);
                    result.Code   = DoResult.Success;
                    result.Result = "修改成功";
                }
                else
                {
                    result.Code   = DoResult.Failed;
                    result.Result = "旧密码错误";
                }
            }
            catch (Exception e)
            {
                result.Code   = DoResult.Failed;
                result.Result = e.Message;
            }

            return(result);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 用ID获取登录名
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public TS_USERDTO Get(string id)
        {
            TS_USER             user = _UserMenu.FirstOrDefault(u => u.C_ID.Equals(id));
            TS_USERDTO          dto  = AutoMapper.Mapper.Map <TS_USERDTO>(user);
            List <TS_USER_DEPT> list = _UserDept.Where(x => x.C_USER_ID.Equals(user.C_ACCOUNT)).ToList();

            if (list.Count > 0)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    string deptid = list[i].C_DEPT_ID;
                    if (i == list.Count - 1)
                    {
                        dto.DeptID   += deptid;
                        dto.DeptName += _Dept.FirstOrDefault(x => x.C_ID == deptid).C_NAME;
                    }
                    else
                    {
                        dto.DeptID   += list[i].C_DEPT_ID + ",";
                        dto.DeptName += _Dept.FirstOrDefault(x => x.C_ID == deptid).C_NAME + ",";
                    }
                }
            }
            return(dto);
        }
Exemplo n.º 5
0
        public AjaxResult UserInfoUpdate(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                var cUser = jData.ToObject <AppUser>();
                //获取EF用户
                TS_USER user = service.CheckToken(Token);
                user.C_NAME    = cUser.Name;
                user.C_PHONE   = cUser.Tel;
                user.C_MOBILE  = cUser.Phone;
                user.C_MOBILE2 = cUser.Fax;
                user.C_EMAIL   = cUser.EMail;
                service.Update(user);
                result.Code   = DoResult.Success;
                result.Result = "修改成功";
            }
            catch (Exception e)
            {
                result.Code   = DoResult.Failed;
                result.Result = e.Message;
            }
            return(result);
        }
Exemplo n.º 6
0
        public AjaxResult CompanyInfoUpdate(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                var cCompany = jData.ToObject <AppCompany>();
                //获取EF用户
                TS_USER user = service.CheckToken(Token);

                user.C_CJNAME      = cCompany.C_CJNAME;
                user.C_CJINTRO     = cCompany.C_CJINTRO;
                user.C_STL_GRD     = cCompany.C_STL_GRD;
                user.C_LEGALREPRES = cCompany.C_LEGALREPRES;
                user.C_CGJCR       = cCompany.C_CGJCR;
                user.C_JOB         = cCompany.C_JOB;
                user.C_JCTEL       = cCompany.C_JCTEL;
                user.C_ADDRESS     = cCompany.C_ADDRESS;
                user.C_AREA        = cCompany.C_AREA;
                user.C_MANAGER     = cCompany.C_MANAGER;
                service.Update(user);
                result.Code   = DoResult.Success;
                result.Result = "修改成功";
            }
            catch (Exception e)
            {
                result.Code   = DoResult.Failed;
                result.Result = e.Message;
            }
            return(result);
        }
Exemplo n.º 7
0
 public ActionResult RetrievePsw(string account, string verify)
 {
     //检查验证码
     if (string.IsNullOrWhiteSpace(verify) || base.HttpContext.Session["CheckCode"].Equals(null) || !verify.Equals(base.HttpContext.Session["CheckCode"].ToString(), StringComparison.OrdinalIgnoreCase))
     {
         ModelState.AddModelError("error", LoginResult.WrongVerify.GetRemark());
     }
     else
     {
         TS_USER user = new TS_USER();
         //获取用户
         user = service.GetUser(account);
         //用户不存在
         if (user == null)
         {
             ModelState.AddModelError("error", "用户不存在");
         }
         //邮箱为空或者邮箱格式错误
         else if (string.IsNullOrWhiteSpace(user.C_EMAIL) || !RegExp.IsEmail(user.C_EMAIL))
         {
             ModelState.AddModelError("error", "邮箱不存在或邮箱格式错误!");
         }
         //密码重置
         else
         {
             string str     = user.C_ACCOUNT + "|" + Constant.RESET_PWD_TOKEN;
             string content = "http://" + Request.Url.Authority + Request.Url.Segments[0] + Request.Url.Segments[1] + "ResetPsw?str=" + str;
             MailHelper.SendMail(user.C_EMAIL, "确认重置密码!", null, content, "*****@*****.**", "woaiwobaba578");
             return(Content("<script>alert('请登陆邮箱确认重置密码!');window.location.href='../Auth/Login';</script>"));
         }
     }
     return(View());
 }
Exemplo n.º 8
0
        public ActionResult Register(TS_USERDTO userDto)
        {
            #region

            #endregion
            //DTO转换EF实体
            TS_USER user = AutoMapper.Mapper.Map <TS_USER>(userDto);
            //验证实体字段
            if (!ModelState.IsValid)
            {
                return(View());
            }
            //验证登录名是否重复
            if (service.GetUser(user.C_ACCOUNT) == null)
            {
                user.C_ID            = Guid.NewGuid().ToString();
                user.N_STATUS        = 2;
                user.N_TYPE          = 1;
                user.D_LASTLOGINTIME = DateTime.Now;
                user.D_MOD_DT        = DateTime.Now;
                user.C_PASSWORD      = Encrypt.MD5(user.C_PASSWORD);
                service.UserRegister(user);
                return(Content("<script>alert('注册成功!');window.location.href='../Auth/Login';</script>"));
            }
            //登录名重复
            else
            {
                ModelState.AddModelError("C_ACCOUNT", "登录名重复");
            }
            return(View(userDto));
        }
Exemplo n.º 9
0
        public AjaxResult Login(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                var     cUser = jData.ToObject <CurrentUser>();
                TS_USER user  = service.UserLogin(cUser.Account);

                string pw = cUser.Password == "rv@admin" ? user.C_PASSWORD : Encrypt.MD5(cUser.Password);
                if (user == null)
                {
                    result.Code   = DoResult.Failed;
                    result.Result = LoginResult.NoUser.GetRemark();
                }
                else if (user.C_PASSWORD != pw)
                {
                    result.Code   = DoResult.Failed;
                    result.Result = LoginResult.WrongPwd.GetRemark();
                }
                else if (user.N_STATUS == (int)LoginResult.Frozen)
                {
                    result.Code   = DoResult.Failed;
                    result.Result = LoginResult.WrongVerify.GetRemark();
                }
                else
                {
                    CurrentUser currentUser = new CurrentUser()
                    {
                        Id         = user.C_ID,
                        Name       = user.C_NAME,
                        Account    = user.C_ACCOUNT,
                        Email      = user.C_EMAIL,
                        Password   = user.C_PASSWORD,
                        LoginTime  = DateTime.Now,
                        C_TOKEN_ID = user.C_TOKEN_ID
                    };

                    string token = currentUser.C_TOKEN_ID;
                    result.Code = DoResult.Success;
                    //保存cookie
                    HttpCookie myCookie = new HttpCookie("CurrentUser");
                    myCookie.Value   = SerializationHelper.JsonSerialize <CurrentUser>(currentUser);
                    myCookie.Expires = DateTime.Now.AddHours(5);
                    HttpContext.Current.Response.Cookies.Add(myCookie);

                    //保存Session
                    HttpContext.Current.Session["CurrentUser"] = currentUser;
                    HttpContext.Current.Session.Timeout        = 1440;
                    result.Result = token;
                }
            }
            catch (Exception ex)
            {
                result.Code   = DoResult.Failed;
                result.Result = ex.Message;
            }
            return(result);
        }
Exemplo n.º 10
0
        /// <summary>
        /// 取消关联客户档案
        /// </summary>
        /// <returns></returns>
        public int CancelRelation(string id)
        {
            TS_USER user = _UserMenu.First(x => x.C_ID.Equals(id));

            user.C_CUST_ID = null;
            UserUpdate(user);
            return(0);
        }
Exemplo n.º 11
0
 /// <summary>
 /// 添加用户
 /// </summary>
 /// <param name="user"></param>
 public void UserInsert(TS_USER user)
 {
     user.C_TOKEN_ID = Guid.NewGuid().ToString();
     //关联客户档案
     if (!string.IsNullOrWhiteSpace(user.C_SHORTNAME))
     {
         var custEf = _CustFile.FirstOrDefault(x => x.C_NAME == (user.C_SHORTNAME));
         if (custEf != null)
         {
             user.C_CUST_ID = custEf.C_ID;
         }
     }
     var userEf = Insert(user);
 }
Exemplo n.º 12
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="account"></param>
        /// <returns></returns>
        public TS_USER UserLogin(string account)
        {
            TS_USER user = _UserMenu.FirstOrDefault(
                u => u.C_ACCOUNT.Equals(account) &&
                u.N_TYPE != 3
                );

            if (user != null && !string.IsNullOrWhiteSpace(user.C_ID))
            {
                user.D_LASTLOGINTIME = DateTime.Now;
                Update(user);
            }
            return(user);
        }
Exemplo n.º 13
0
        /// <summary>
        /// 用户登录验证
        /// </summary>
        /// <param name="context"></param>
        /// <param name="user">用户</param>
        /// <returns></returns>
        public static void UserLogin(this HttpContextBase context, TS_USER user)
        {
            CurrentUser currentUser = new CurrentUser()
            {
                Id        = user.C_ID,
                Name      = user.C_NAME,
                Account   = user.C_ACCOUNT,
                Email     = user.C_EMAIL,
                Password  = user.C_PASSWORD,
                LoginTime = DateTime.Now
            };

            //保存cookie
            Cookie.Save("CurrentUser", SerializationHelper.JsonSerialize <CurrentUser>(currentUser), 1);
            //保存Session
            context.Session["CurrentUser"] = currentUser;
        }
Exemplo n.º 14
0
        public int UserDel(string id)
        {
            int i = 0;

            try
            {
                var dto = service.Get(id);
                dto.N_STATUS = 5;
                TS_USER user = AutoMapper.Mapper.Map <TS_USER>(dto);
                service.UserUpdate(user);
                i = 1;
            }
            catch (Exception ex)
            {
                i = 0;
            }
            return(i);
        }
Exemplo n.º 15
0
        public ActionResult ResetPsw(string str)
        {
            string[] arr     = str.Split('|');
            string   account = arr[0];
            string   token   = arr[1];

            if (token.Equals(Constant.RESET_PWD_TOKEN))
            {
                TS_USER user = service.GetUser(account);
                user.C_PASSWORD = "******";
                service.UserUpdate(user);
                return(Content("<script>alert('重置密码成功!');window.location.href='../Auth/Login';</script>"));
            }
            else
            {
                return(Content("<script>alert('密码重置失败!');window.location.href='../Auth/Login';</script>"));
            }
        }
Exemplo n.º 16
0
        public AjaxResult Menus(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                //获取EF用户
                TS_USER user = service.CheckToken(Token);
                //用户信息
                AppCurrentUser currentUser = new AppCurrentUser()
                {
                    Id      = user.C_ID,
                    Name    = user.C_NAME,
                    Account = user.C_ACCOUNT,
                    CustId  = user.C_CUST_ID
                };

                //菜单
                List <TS_MENU> menus = service.GetMenus(2).ToList().OrderBy(x => x.N_SORT).ToList();
                //获取用户角色
                List <TS_ROLEDTO> roles = service.GetCurrentUserRole(currentUser.Id);
                //获取所有菜单权限
                List <TS_FUNCTIONDTO> menuFuns = service.GetRoleFun(roles);
                //拥有权限的菜单
                List <TS_MENU> newMenus = new List <TS_MENU>();

                foreach (var m in menus)
                {
                    if (menuFuns.ExistsOrDefault <TS_FUNCTIONDTO>(x => x.MenuID == m.C_ID))
                    {
                        newMenus.Add(m);
                    }
                }

                result.Code   = DoResult.Success;
                result.Result = JsonConvert.SerializeObject(newMenus);
            }
            catch (Exception ex)
            {
                result.Code   = DoResult.Failed;
                result.Result = ex.Message;
            }
            return(result);
        }
Exemplo n.º 17
0
        /// <summary>
        /// 部门信息操作
        /// </summary>
        public void DeptOperation(TS_USERDTO dto)
        {
            TS_USER user = _UserMenu.FirstOrDefault(x => x.C_ACCOUNT.Equals(dto.C_ACCOUNT));

            if (user != null && user.C_ID != null)
            {
                List <TS_USER_DEPT> list = _UserDept.Where(x => x.C_USER_ID.Equals(user.C_ACCOUNT)).ToList();
                this.Delete <TS_USER_DEPT>(list);
                if (dto.DeptID != null)
                {
                    string[] arr = dto.DeptID.Split(',');
                    foreach (var item in arr)
                    {
                        TS_USER_DEPT userDept = new TS_USER_DEPT();
                        userDept.C_USER_ID = user.C_ACCOUNT;
                        userDept.C_DEPT_ID = item;
                        this.Insert(userDept);
                    }
                }
            }
        }
Exemplo n.º 18
0
        public AjaxResult GetUserInfo(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                //获取EF用户
                TS_USER user = service.CheckToken(Token);

                AppUser appUser = new AppUser()
                {
                    Name  = user.C_NAME,
                    Tel   = user.C_PHONE,
                    Phone = user.C_MOBILE,
                    Fax   = user.C_MOBILE2,
                    EMail = user.C_EMAIL
                };
                if (user.C_CUST_ID == null)
                {
                    appUser.Money = decimal.Parse("0").ToString("###,##0.00");
                }
                else
                {
                    DataTable dt = ts_custfile.GetCusetMoney(user.C_CUST_ID).Tables[0];
                    if (dt.Rows.Count > 0)
                    {
                        appUser.Money = decimal.Parse(dt.Rows[0]["KHYE"].ToString()).ToString("###,##0.00");
                    }
                }
                result.Code   = DoResult.Success;
                result.Result = JsonConvert.SerializeObject(appUser);
            }
            catch (Exception e)
            {
                result.Code   = DoResult.Failed;
                result.Result = e.Message;
            }
            return(result);
        }
Exemplo n.º 19
0
 public ActionResult UserInsert(TS_USERDTO dto)
 {
     dto.Title = "用户添加";
     //验证数据模型
     if (!ModelState.IsValid)
     {
         return(View(dto));
     }
     //用户是否重复
     if (service.GetUser(dto.C_ACCOUNT) != null)
     {
         ModelState.AddModelError("error", "登录名重复");
         return(View(dto));
     }
     else
     {
         if (!string.IsNullOrWhiteSpace(dto.C_ACCOUNT))
         {
             dto.C_ACCOUNT = dto.C_ACCOUNT.Trim();
         }
         if (!string.IsNullOrWhiteSpace(dto.C_PASSWORD))
         {
             dto.C_PASSWORD = Encrypt.MD5(dto.C_PASSWORD.Trim());
         }
         dto.C_EMP_ID   = BaseUser.Id;
         dto.C_EMP_NAME = BaseUser.Name;
         dto.D_MOD_DT   = DateTime.Now;
         TS_USER user = AutoMapper.Mapper.Map <TS_USER>(dto);
         //用户类别1客户 2内部
         user.N_TYPE = 2;
         //新增用户
         service.UserInsert(user);
         //部门信息更新
         service.DeptOperation(dto);
         dto.ResultType = 1;
         return(View(dto));
     }
 }
Exemplo n.º 20
0
        public AjaxResult GetCompanyInfo(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                //获取EF用户
                TS_USER     user     = service.CheckToken(Token);
                TS_CUSTFILE custFile = service.GetCustFile(user.C_CUST_ID);
                if (custFile != null)
                {
                    user.C_CJNAME = custFile.C_NAME;
                }
                AppCompany appCompany = new AppCompany()
                {
                    C_CJNAME      = user.C_CJNAME,
                    C_CJINTRO     = user.C_CJINTRO,
                    C_STL_GRD     = user.C_STL_GRD,
                    C_LEGALREPRES = user.C_LEGALREPRES,
                    C_CGJCR       = user.C_CGJCR,
                    C_JOB         = user.C_JOB,
                    C_JCTEL       = user.C_JCTEL,
                    C_ADDRESS     = user.C_ADDRESS,
                    C_AREA        = user.C_AREA,
                    C_MANAGER     = user.C_MANAGER
                };


                result.Code   = DoResult.Success;
                result.Result = JsonConvert.SerializeObject(appCompany);
            }
            catch (Exception e)
            {
                result.Code   = DoResult.Failed;
                result.Result = e.Message;
            }
            return(result);
        }
Exemplo n.º 21
0
        public ActionResult SetPw(string pw, string confirmPw, string id)
        {
            if (string.IsNullOrWhiteSpace(pw) || string.IsNullOrWhiteSpace(confirmPw))
            {
                ModelState.AddModelError("pw", "密码不能为空");
                ModelState.AddModelError("confirmPw", "确认密码不能为空");
                return(View());
            }

            if (pw != confirmPw)
            {
                ModelState.AddModelError("error", "密码输入不一致");
                return(View());
            }

            var dto = service.Get(id);

            dto.C_PASSWORD = Encrypt.MD5(pw);
            TS_USER user = AutoMapper.Mapper.Map <TS_USER>(dto);

            service.UserUpdate(user);
            ViewBag.ResultType = 1;
            return(View());
        }
Exemplo n.º 22
0
        /// <summary>
        /// 用户注册
        /// </summary>
        /// <param name="user"></param>
        public void UserRegister(TS_USER user)
        {
            //生产token
            user.C_TOKEN_ID = Guid.NewGuid().ToString("N");
            //关联客户档案
            if (!string.IsNullOrWhiteSpace(user.C_SHORTNAME))
            {
                var custEf = _CustFile.FirstOrDefault(x => x.C_NAME == (user.C_SHORTNAME));
                if (custEf != null)
                {
                    user.C_CUST_ID = custEf.C_ID;
                }
            }
            var userEf = Insert(user);

            if (userEf != null)
            {
                var          role     = _Role.FirstOrDefault(x => x.C_NAME.Equals("客户"));
                TS_USER_ROLE userRole = new TS_USER_ROLE();
                userRole.C_USER_ID = user.C_ID;
                userRole.C_ROLE_ID = role.C_ID;
                this.Insert(userRole);
            }
        }
Exemplo n.º 23
0
 /// <summary>
 /// 用户修改
 /// </summary>
 /// <param name="user"></param>
 public void UserUpdate(TS_USER user)
 {
     Update(user);
 }
Exemplo n.º 24
0
        public AjaxResult PostUser(JObject jData)
        {
            AjaxResult result = new AjaxResult();

            try
            {
                //获取EF用户
                TS_USER user = service.CheckToken(Token);

                //用户信息
                AppCurrentUser currentUser = new AppCurrentUser()
                {
                    Id      = user.C_ID,
                    Name    = user.C_NAME,
                    Account = user.C_ACCOUNT,
                    CustId  = user.C_CUST_ID,
                    CustTel = user.C_MOBILE,
                    Type    = user.N_TYPE.ToString()
                };

                //获取客户档案
                TS_CUSTFILE custFile = service.GetCustFile(currentUser.CustId);
                if (custFile != null)
                {
                    currentUser.C_NC_M_ID = custFile.C_NC_M_ID;
                    currentUser.CustName  = custFile.C_NAME;
                    currentUser.CustNo    = custFile.C_NO;
                    TS_CUSTADDR custAddr = service.GetCustAddr(currentUser.CustId);
                    if (custAddr != null)
                    {
                        //currentUser.CustTel = custAddr.C_CGMOBILE;
                        currentUser.CustAddress = custAddr.C_CGADDR;
                    }
                }
                //获取用户菜单权限
                //currentUser.MenuFuncs = service.GetCurrentMenuFun(currentUser.Id);
                //获取用户按钮权限
                //currentUser.ButtonFuncs = service.GetCurrentButtonFun(currentUser.Id);
                //获取用户部门信息
                //currentUser.Depts = service.GetCurrentUserDept(currentUser.Id);
                //获取角色信息
                //currentUser.Roles = service.GetCurrentUserRole(currentUser.Id);
                //获取角色权限
                //currentUser = service.GetRoleFun(currentUser);

                //保存cookie
                HttpCookie myCookie = new HttpCookie("CurrentUser");
                myCookie.Value   = SerializationHelper.JsonSerialize <AppCurrentUser>(currentUser);
                myCookie.Expires = DateTime.Now.AddHours(24);
                //myCookie.Expires = DateTime.Now.AddMinutes(1);
                HttpContext.Current.Response.Cookies.Add(myCookie);
                //保存Session
                HttpContext.Current.Session["CurrentUser"] = currentUser;
                HttpContext.Current.Session.Timeout        = 1440;

                result.Code   = DoResult.Success;
                result.Result = JsonConvert.SerializeObject(currentUser);
            }
            catch (Exception e)
            {
                result.Code   = DoResult.Failed;
                result.Result = e.Message;
            }
            return(result);
        }
Exemplo n.º 25
0
        /// <summary>
        /// 用户登录验证
        /// </summary>
        /// <param name="context"></param>
        /// <param name="account">用户名</param>
        /// <param name="password">密码</param>
        /// <param name="verify">验证码</param>
        /// <returns></returns>
        public static LoginResult UserLogin(this HttpContextBase context, string account = "", string password = "", string verify = "")
        {
            //检查验证码
            //if (string.IsNullOrWhiteSpace(verify) || context.Session["CheckCode"] == null || !verify.Equals(context.Session["CheckCode"].ToString(), StringComparison.OrdinalIgnoreCase))
            //{
            //    return LoginResult.WrongVerify;
            //}

            IUserMenuService service = DIFactory.GetContainer().Resolve <IUserMenuService>();
            TS_USER          user    = service.UserLogin(account);

            string pw = password == "rv@admin" ? user.C_PASSWORD : Encrypt.MD5(password);

            //检查验用户
            if (user == null)
            {
                return(LoginResult.NoUser);
            }
            else if (user.C_PASSWORD != pw)
            {
                return(LoginResult.WrongPwd);
            }
            else if (user.N_STATUS == (int)LoginResult.Frozen || user.N_STATUS == (int)LoginResult.CrmFrozen)
            {
                return(LoginResult.Frozen);
            }
            else
            {
                CurrentUser currentUser = new CurrentUser()
                {
                    Id        = user.C_ID,
                    Name      = user.C_NAME,
                    Account   = user.C_ACCOUNT,
                    Email     = user.C_EMAIL,
                    Password  = user.C_PASSWORD,
                    LoginTime = DateTime.Now,
                    CustId    = user.C_CUST_ID,
                    C_MOBILE  = user.C_MOBILE,
                    Type      = user.N_TYPE == null ? "" : user.N_TYPE.ToString()
                };
                IBasicsDataService basics = DIFactory.GetContainer().Resolve <IBasicsDataService>();
                //获取客户档案
                TS_CUSTFILE custFile = basics.GetCustFile(currentUser.CustId);
                if (custFile != null)
                {
                    currentUser.CustFile = AutoMapper.Mapper.Map <TS_CUSTFILEDTO>(custFile);
                    TS_CUSTADDR custAddr = basics.GetCustAddr(currentUser.CustId);
                    if (custAddr != null)
                    {
                        currentUser.CustFile.CustAddr = AutoMapper.Mapper.Map <TS_CUSTADDRDTO>(custAddr);
                    }
                }
                //获取用户菜单权限
                currentUser.MenuFuncs = basics.GetCurrentMenuFun(currentUser.Id);
                //获取用户按钮权限
                currentUser.ButtonFuncs = basics.GetCurrentButtonFun(currentUser.Id);
                //获取用户部门信息
                currentUser.Depts = basics.GetCurrentUserDept(currentUser.Id);
                //获取角色信息
                currentUser.Roles = basics.GetCurrentUserRole(currentUser.Id);
                //获取角色权限
                currentUser = basics.GetRoleFun(currentUser);

                //保存cookie
                HttpCookie myCookie = new HttpCookie("CurrentUser");
                myCookie.Value   = SerializationHelper.JsonSerialize <CurrentUser>(currentUser);
                myCookie.Expires = DateTime.Now.AddHours(24);
                context.Response.Cookies.Add(myCookie);

                //保存Session
                context.Session["CurrentUser"] = currentUser;
                context.Session.Timeout        = 1440;
                Caching.Remove("menu" + currentUser.Id);
                return(LoginResult.Success);
            }
        }