/// <summary> /// /// </summary> /// <param name="loginInfo"></param> /// <returns></returns> private DTOAPIRes_Login LoginUnionWay(DTOAPIReq_Login loginInfo) { var entity = this.accesser.db.Accounts; IQueryable <Account> query_union = this.accesser.db.Accounts.Where(x => 1 == 0); try { Int64 key = Int64.Parse(loginInfo.username); entity.Where(x => x.Id == key); query_union = query_union.Union(entity.Where(x => x.Id == key)); } catch (Exception ex) { } if (PhoneHelper.IsValid(loginInfo.username)) { var data = PhoneHelper.Split(loginInfo.username); var areacode = data.Item1; var phone = data.Item2; query_union = query_union.Union(entity.Where(x => x.PhoneAreaCode == areacode && x.Phone == phone)); } if (EmailHepler.IsValid(loginInfo.username)) { string email = loginInfo.username.ToLower(); query_union = query_union.Union(entity.Where(x => x.Email.Equals(email))); } query_union = query_union.Union(entity.Where(x => x.Username == loginInfo.username)); query_union = query_union.Union(entity.Where(x => x.Passport.Equals(loginInfo.username.ToLower()))); #if DEBUG #endif var arr = query_union.ToArray(); if (arr != null && arr.Length > 0) { var account = arr.Where(x => x.Password == loginInfo.password).SingleOrDefault(); return(GenLoginData(account, loginInfo.password)); } else { return(new DTOAPIRes_Login { accessToken = "", state = 3, msg = "UID/通行证/用户名/邮箱/手机号不存在" }); } //return account; }