示例#1
0
        /// <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);
            }
        }
示例#2
0
        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));
            }
        }
示例#3
0
        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);
            }
        }