/// <summary> /// 获取当前用户的代理关系 /// </summary> /// <returns></returns> //public AgentModel GetAgentModel(int userid) //{ // using (ChatEntities db = new ChatEntities()) // { // AgentModel agentmodel = new AgentModel(); // agentmodel.Agent=db.User.FirstOrDefault(o => o.ID == userid); // var agent= db.Agent.FirstOrDefault(o => o.UserID == userid); // if (agent.Level==0) // { // return agentmodel; // } // else // { // int parentid=db.Agent.FirstOrDefault(o => o.UserID == agent.ParentID).UserID; // agentmodel.ParentAgent=db.User.FirstOrDefault(o => o.ID == parentid); // var childAgent=db.Agent.Where(o => o.ParentID == userid).ToList(); // List<User> childAgentlist=new List<User>(); // List<User> childchildAgentlist = new List<User>(); // List<object> datas = new List<object>(); // if (childAgent.Count>0) // { // foreach (var temp in childAgent) // { // User childuser=new User(); // childuser=db.User.FirstOrDefault(o => o.ID == temp.UserID); // childAgentlist.Add(childuser); // var childchildAgent = db.Agent.Where(o => o.ParentID == temp.UserID).ToList(); // if(childchildAgent.Count>0) // { // foreach (var temps in childchildAgent) // { // User childchilduser = new User(); // childchilduser = db.User.FirstOrDefault(o => o.ID == temps.UserID); // childchildAgentlist.Add(childchilduser); // } // } // } // agentmodel.ChildAgent = childAgentlist; // agentmodel.ChildChildAgent = childchildAgentlist; // } // } // return agentmodel; // } //} /// <summary> /// 获取当前用户的代理关系 /// </summary> /// <returns></returns> public AgentModel GetAgentModel(int userid) { using (ChatEntities db = new ChatEntities()) { AgentModel agentmodel = new AgentModel(); agentmodel.Agent = db.User.FirstOrDefault(o => o.ID == userid); var agent = db.Agent.FirstOrDefault(o => o.UserID == userid); if (agent.Level == 0) { return(agentmodel); } else { int parentid = db.Agent.FirstOrDefault(o => o.UserID == agent.ParentID).UserID; agentmodel.ParentAgent = db.User.FirstOrDefault(o => o.ID == parentid); var childAgent = db.Agent.Where(o => o.ParentID == userid).ToList(); List <ChildUser> childuserlist = new List <ChildUser>(); if (childAgent.Count > 0) { foreach (var temp in childAgent) { ChildUser childuser = new ChildUser(); childuser.ChildAgent = db.User.FirstOrDefault(o => o.ID == temp.UserID); var childchildAgent = db.Agent.Where(o => o.ParentID == temp.UserID).ToList(); if (childchildAgent.Count > 0) { List <User> ulist = new List <User>(); foreach (var temps in childchildAgent) { User childchilduser = new User(); childchilduser = db.User.FirstOrDefault(o => o.ID == temps.UserID); ulist.Add(childchilduser); } childuser.ChildChildAgent = ulist; } childuserlist.Add(childuser); } agentmodel.Children = childuserlist; } } return(agentmodel); } }
public ResponseObjectDto CreateChildUser(int parentID, String email, String password, String name, String surname) { if (!ModelState.IsValid) { return(new ResponseObjectDto(null, 0, "Bad Request", 400)); } try { byte[] passwordHash; byte[] passwordSalt; CreatePasswordHash(password, out passwordHash, out passwordSalt); if (passwordHash != null || passwordSalt != null) { ChildUser newChildUser = new ChildUser() { Name = name, Surname = surname, Email = email, Parent_ID = parentID, PasswordHash = passwordHash, PasswordSalt = passwordSalt, Status = true, CreatorIP = ":::", CreatorRole = "childuser", CreationDate = DateTime.Now, }; context.ChildUser.Add(newChildUser); context.SaveChanges(); return(new ResponseObjectDto(newChildUser, 1, "Accepted", 200)); } return(new ResponseObjectDto(null, 0, "Bad Request", 400)); } catch (WebException exc) { return(new ResponseObjectDto(null, 0, exc.Message, (int)(((HttpWebResponse)exc.Response)).StatusCode)); } }
public AuthorizedDto Login([Required] string email, string password) { if (!ModelState.IsValid) { return(null); } ; try { Admin admin = (from c in context.Admin.AsNoTracking() where c.Email == email select c).FirstOrDefault(); User user = (from c in context.User.AsNoTracking() where c.Email == email select c).FirstOrDefault(); ChildUser childuser = (from c in context.ChildUser.AsNoTracking() where c.Email == email select c).FirstOrDefault(); if (admin == null && user == null) { return(null); } string strLocalUrl = "http://localhost:60499"; WebRequest webRequest = WebRequest.Create(strLocalUrl + "/token"); webRequest.Method = "POST"; webRequest.ContentType = "application/x-www-form-urlencoded"; byte[] byteBody = new System.Text.ASCIIEncoding().GetBytes("grant_type=password&username="******"&password="******"admin", Token = authTokenDto, }); } else if (user != null) { return(new AuthorizedDto() { ID = user.User_ID, Name = user.Name, Email = user.Email, ImageURL = user.ImageUrl, Role = "user", Token = authTokenDto, }); } else if (childuser != null) { return(new AuthorizedDto() { ID = childuser.ChildUser_ID, ParentID = childuser.Parent_ID, Name = childuser.Name, Email = childuser.Email, ImageURL = childuser.ImageUrl, Role = "childuser", Token = authTokenDto, }); } else { return(null); } } catch (Exception e) { return(null); } }