Пример #1
0
        public JsonResult List()
        {
            var mongo = new MongoHelper();

            // 获取所有类别
            var sceneCount     = mongo.Count(Constant.SceneCollectionName);
            var meshCount      = mongo.Count(Constant.MeshCollectionName);
            var mapCount       = mongo.Count(Constant.MapCollectionName);
            var materialCount  = mongo.Count(Constant.MaterialCollectionName);
            var audioCount     = mongo.Count(Constant.AudioCollectionName);
            var animationCount = mongo.Count(Constant.AnimationCollectionName);
            var particleCount  = mongo.Count(Constant.ParticleCollectionName);
            var prefabCount    = mongo.Count(Constant.PrefabCollectionName);
            var characterCount = mongo.Count(Constant.CharacterCollectionName);

            return(Json(new
            {
                Code = 200,
                Msg = "获取成功!",
                sceneCount,
                meshCount,
                mapCount,
                materialCount,
                audioCount,
                animationCount,
                particleCount,
                prefabCount,
                characterCount
            }));
        }
Пример #2
0
        public JsonResult List(int pageSize = 20, int pageNum = 1)
        {
            var mongo = new MongoHelper();

            var filter = Builders <BsonDocument> .Filter.Ne("Status", -1);

            var total = mongo.Count(Constant.RoleCollectionName, filter);
            var docs  = mongo.FindMany(Constant.RoleCollectionName, filter).Skip(pageSize * (pageNum - 1)).Limit(pageSize).ToList();

            var rows = new List <RoleModel>();

            foreach (var doc in docs)
            {
                rows.Add(new RoleModel
                {
                    ID         = doc["_id"].ToString(),
                    Name       = doc["Name"].ToString(),
                    CreateTime = doc["CreateTime"].ToLocalTime(),
                    UpdateTime = doc["UpdateTime"].ToLocalTime(),
                    Status     = doc["Status"].ToInt32(),
                });
            }

            return(Json(new
            {
                Code = 200,
                Msg = "Get Successfully!",
                Data = new
                {
                    total,
                    rows,
                },
            }));
        }
Пример #3
0
        public JsonResult Add(PluginEditModel model)
        {
            if (string.IsNullOrEmpty(model.Name))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Name is not allowed to be empty."
                }));
            }

            var mongo = new MongoHelper();

            var filter = Builders <BsonDocument> .Filter.Eq("Name", model.Name);

            var count = mongo.Count(Constant.PluginCollectionName, filter);

            if (count > 0)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "The name is already existed.",
                }));
            }

            if (string.IsNullOrEmpty(model.Source))
            {
                model.Source = "";
            }

            if (string.IsNullOrEmpty(model.Description))
            {
                model.Description = "";
            }

            var now = DateTime.Now;

            var doc = new BsonDocument
            {
                ["ID"]          = ObjectId.GenerateNewId(),
                ["Name"]        = model.Name,
                ["Source"]      = model.Source,
                ["CreateTime"]  = now,
                ["UpdateTime"]  = now,
                ["Description"] = model.Description,
                ["Status"]      = 0,
            };

            mongo.InsertOne(Constant.PluginCollectionName, doc);

            return(Json(new
            {
                Code = 200,
                Msg = "Saved successfully!"
            }));
        }
Пример #4
0
        public JsonResult List(int pageSize = 20, int pageNum = 1, string keyword = "")
        {
            var mongo = new MongoHelper();

            var filter = Builders <BsonDocument> .Filter.Ne("Status", -1);

            if (!string.IsNullOrEmpty(keyword))
            {
                var filter1 = Builders <BsonDocument> .Filter.Regex("Name", keyword);

                filter = Builders <BsonDocument> .Filter.And(filter, filter1);
            }

            var sort = Builders <BsonDocument> .Sort.Descending("_id");

            var total = mongo.Count(Constant.UserCollectionName, filter);
            var docs  = mongo.FindMany(Constant.UserCollectionName, filter)
                        .Sort(sort)
                        .Skip(pageSize * (pageNum - 1))
                        .Limit(pageSize)
                        .ToList();

            var rows = new List <UserModel>();

            foreach (var doc in docs)
            {
                rows.Add(new UserModel
                {
                    ID         = doc["ID"].ToString(),
                    Username   = doc["Username"].ToString(),
                    Password   = "",
                    Name       = doc["Name"].ToString(),
                    Gender     = doc["Gender"].ToInt32(),
                    Phone      = doc["Phone"].ToString(),
                    Email      = doc["Email"].ToString(),
                    QQ         = doc["QQ"].ToString(),
                    CreateTime = doc["CreateTime"].ToLocalTime(),
                    UpdateTime = doc["UpdateTime"].ToLocalTime(),
                    Status     = doc["Status"].ToInt32(),
                });
            }

            return(Json(new
            {
                Code = 200,
                Msg = "Get Successfully!",
                Data = new
                {
                    total,
                    rows,
                },
            }));
        }
Пример #5
0
 /// <summary>
 /// 数据库初始化
 /// </summary>
 private void DBInit()
 {
     MongoHelper<User> helperUser = new MongoHelper<User>();
     if (helperUser.Count() == 0)
     {
         User user;
         user = new User();
         user.usercode = "admin";
         user.pwd = DESEncryptor.DesEncrypt("123456");
         user.email = "*****@*****.**";
         user.username = "******";
         helperUser.Insert(user);
     }
 }
Пример #6
0
        public JsonResult List(int pageSize = 20, int pageNum = 1, string keyword = "")
        {
            var mongo = new MongoHelper();

            var filter = Builders <BsonDocument> .Filter.Ne("Status", -1);

            if (!string.IsNullOrEmpty(keyword))
            {
                var filter1 = Builders <BsonDocument> .Filter.Regex("Name", keyword);

                filter = Builders <BsonDocument> .Filter.And(filter, filter1);
            }

            var sort = Builders <BsonDocument> .Sort.Descending("ID");

            var total = mongo.Count(Constant.PluginCollectionName, filter);
            var docs  = mongo.FindMany(Constant.PluginCollectionName, filter)
                        .Sort(sort)
                        .Skip(pageSize * (pageNum - 1))
                        .Limit(pageSize)
                        .ToList();

            var rows = new List <PluginModel>();

            foreach (var doc in docs)
            {
                rows.Add(new PluginModel
                {
                    ID          = doc["ID"].ToString(),
                    Name        = doc["Name"].ToString(),
                    Source      = doc["Source"].ToString(),
                    CreateTime  = doc["CreateTime"].ToLocalTime(),
                    UpdateTime  = doc["UpdateTime"].ToLocalTime(),
                    Description = doc.Contains("Description") ? doc["Description"].ToString() : "",
                    Status      = doc["Status"].ToInt32(),
                });
            }

            return(Json(new
            {
                Code = 200,
                Msg = "Get Successfully!",
                Data = new
                {
                    total,
                    rows,
                },
            }));
        }
Пример #7
0
        public JsonResult Add(UserEditModel model)
        {
            if (string.IsNullOrEmpty(model.Username))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Username is not allowed to be empty.",
                }));
            }

            if (string.IsNullOrEmpty(model.Password))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Password is not allowed to be empty.",
                }));
            }

            if (string.IsNullOrEmpty(model.Name))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Name is not allowed to be empty."
                }));
            }

            var mongo = new MongoHelper();

            var filter = Builders <BsonDocument> .Filter.Eq("Username", model.Username);

            var count = mongo.Count(Constant.UserCollectionName, filter);

            if (count > 0)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "The username is already existed.",
                }));
            }

            var now = DateTime.Now;

            var salt = DateTime.Now.ToString("yyyyMMddHHmmss");

            var doc = new BsonDocument
            {
                ["ID"]         = ObjectId.GenerateNewId(),
                ["Username"]   = model.Username,
                ["Password"]   = MD5Helper.Encrypt(model.Password + salt),
                ["Name"]       = model.Name,
                ["Gender"]     = 0,
                ["Phone"]      = "",
                ["Email"]      = "",
                ["QQ"]         = "",
                ["CreateTime"] = now,
                ["UpdateTime"] = now,
                ["Salt"]       = salt,
                ["Status"]     = 0,
            };

            mongo.InsertOne(Constant.UserCollectionName, doc);

            return(Json(new
            {
                Code = 200,
                Msg = "Saved successfully!"
            }));
        }
Пример #8
0
        public JsonResult Edit(UserEditModel model)
        {
            var objectId = ObjectId.GenerateNewId();

            if (!string.IsNullOrEmpty(model.ID) && !ObjectId.TryParse(model.ID, out objectId))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "ID is not allowed."
                }));
            }

            if (string.IsNullOrEmpty(model.Username))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Username is not allowed to be empty.",
                }));
            }

            if (string.IsNullOrEmpty(model.Name))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Name is not allowed to be empty."
                }));
            }

            var mongo = new MongoHelper();

            // 判断用户名是否重复
            var filter1 = Builders <BsonDocument> .Filter.Ne("ID", objectId);

            var filter2 = Builders <BsonDocument> .Filter.Eq("Username", model.Username);

            var filter = Builders <BsonDocument> .Filter.And(filter1, filter2);

            var count = mongo.Count(Constant.UserCollectionName, filter);

            if (count > 0)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "The username is already existed.",
                }));
            }

            filter = Builders <BsonDocument> .Filter.Eq("ID", objectId);

            var update1 = Builders <BsonDocument> .Update.Set("Username", model.Username);

            var update2 = Builders <BsonDocument> .Update.Set("Name", model.Name);

            var update3 = Builders <BsonDocument> .Update.Set("UpdateTime", DateTime.Now);

            var update = Builders <BsonDocument> .Update.Combine(update1, update2, update3);

            mongo.UpdateOne(Constant.UserCollectionName, filter, update);

            return(Json(new
            {
                Code = 200,
                Msg = "Saved successfully!"
            }));
        }
Пример #9
0
        public JsonResult List()
        {
            var mongo = new MongoHelper();

            long sceneCount = 0, meshCount = 0, mapCount = 0, materialCount = 0, audioCount = 0, animationCount = 0, particleCount = 0,
                 prefabCount = 0, characterCount = 0, screenshotCount = 0, videoCount = 0;

            // 获取所有类别
            if (ConfigHelper.EnableAuthority)
            {
                var user = UserHelper.GetCurrentUser();

                if (user != null)
                {
                    var filter = Builders <BsonDocument> .Filter.Eq("UserID", user.ID);

                    if (user.Name == "Administrator")
                    {
                        var filter1 = Builders <BsonDocument> .Filter.Exists("UserID");

                        var filter2 = Builders <BsonDocument> .Filter.Not(filter1);

                        filter = Builders <BsonDocument> .Filter.Or(filter, filter2);
                    }
                    sceneCount      = mongo.Count(Constant.SceneCollectionName, filter);
                    meshCount       = mongo.Count(Constant.MeshCollectionName, filter);
                    mapCount        = mongo.Count(Constant.MapCollectionName, filter);
                    materialCount   = mongo.Count(Constant.MaterialCollectionName, filter);
                    audioCount      = mongo.Count(Constant.AudioCollectionName, filter);
                    animationCount  = mongo.Count(Constant.AnimationCollectionName, filter);
                    particleCount   = mongo.Count(Constant.ParticleCollectionName, filter);
                    prefabCount     = mongo.Count(Constant.PrefabCollectionName, filter);
                    characterCount  = mongo.Count(Constant.CharacterCollectionName, filter);
                    screenshotCount = mongo.Count(Constant.ScreenshotCollectionName, filter);
                    videoCount      = mongo.Count(Constant.VideoCollectionName, filter);
                }
            }
            else
            {
                sceneCount      = mongo.Count(Constant.SceneCollectionName);
                meshCount       = mongo.Count(Constant.MeshCollectionName);
                mapCount        = mongo.Count(Constant.MapCollectionName);
                materialCount   = mongo.Count(Constant.MaterialCollectionName);
                audioCount      = mongo.Count(Constant.AudioCollectionName);
                animationCount  = mongo.Count(Constant.AnimationCollectionName);
                particleCount   = mongo.Count(Constant.ParticleCollectionName);
                prefabCount     = mongo.Count(Constant.PrefabCollectionName);
                characterCount  = mongo.Count(Constant.CharacterCollectionName);
                screenshotCount = mongo.Count(Constant.ScreenshotCollectionName);
                videoCount      = mongo.Count(Constant.VideoCollectionName);
            }

            return(Json(new
            {
                Code = 200,
                Msg = "Get Successfully!",
                sceneCount,
                meshCount,
                mapCount,
                materialCount,
                audioCount,
                animationCount,
                particleCount,
                prefabCount,
                characterCount,
                screenshotCount,
                videoCount,
            }));
        }
Пример #10
0
        public JsonResult Register(RegisterModel model)
        {
            if (model.Username == null || string.IsNullOrEmpty(model.Username))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Username is not allowed to be empty.",
                }));
            }

            if (model.Password == null || string.IsNullOrEmpty(model.Password))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Password is not allowed to be empty.",
                }));
            }

            if (model.ConfirmPassword == null || string.IsNullOrEmpty(model.ConfirmPassword))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Confirm password is not allowed to be empty.",
                }));
            }

            if (model.Password != model.ConfirmPassword)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Password and confirm password is not the same.",
                }));
            }

            if (model.Name == null || string.IsNullOrEmpty(model.Name))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Name is not allowed to be empty.",
                }));
            }

            var mongo = new MongoHelper();

            var filter = Builders <BsonDocument> .Filter.Eq("Username", model.Username);

            var count = mongo.Count(Constant.UserCollectionName, filter);

            if (count > 0)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "The username is already existed.",
                }));
            }

            // 获取所有角色
            filter = Builders <BsonDocument> .Filter.Eq("Name", "User");

            var role = mongo.FindOne(Constant.RoleCollectionName, filter);

            if (role == null)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "The system has not been initialized.",
                }));
            }

            // 添加用户
            var now = DateTime.Now;

            var salt = DateTime.Now.ToString("yyyyMMddHHmmss");

            var doc = new BsonDocument
            {
                ["ID"]         = ObjectId.GenerateNewId(),
                ["Username"]   = model.Username,
                ["Password"]   = MD5Helper.Encrypt(model.Password + salt),
                ["Name"]       = model.Name,
                ["RoleID"]     = role["ID"].ToString(),
                ["Gender"]     = 0,
                ["Phone"]      = "",
                ["Email"]      = "",
                ["QQ"]         = "",
                ["CreateTime"] = now,
                ["UpdateTime"] = now,
                ["Salt"]       = salt,
                ["Status"]     = 0,
            };

            mongo.InsertOne(Constant.UserCollectionName, doc);

            return(Json(new
            {
                Code = 200,
                Msg = "Register successfully!"
            }));
        }
Пример #11
0
        public JsonResult List(int pageSize = 20, int pageNum = 1, string keyword = "")
        {
            var mongo = new MongoHelper();

            // 获取所有角色
            var roleDocs = mongo.FindAll(Constant.RoleCollectionName).ToList();

            var roles = new List <RoleModel>();

            foreach (var doc in roleDocs)
            {
                roles.Add(new RoleModel
                {
                    ID          = doc["ID"].ToString(),
                    Name        = doc["Name"].ToString(),
                    CreateTime  = doc["CreateTime"].ToLocalTime(),
                    UpdateTime  = doc["UpdateTime"].ToLocalTime(),
                    Description = doc.Contains("Description") ? doc["Description"].ToString() : "",
                    Status      = doc["Status"].ToInt32(),
                });
            }

            // 获取所有机构
            var deptDocs = mongo.FindAll(Constant.DepartmentCollectionName).ToList();

            var depts = new List <DepartmentModel>();

            foreach (var doc in deptDocs)
            {
                depts.Add(new DepartmentModel
                {
                    ID       = doc["ID"].ToString(),
                    ParentID = doc["ParentID"].ToString(),
                    Name     = doc["Name"].ToString(),
                    Status   = doc["Status"].ToInt32()
                });
            }

            // 获取用户
            var filter = Builders <BsonDocument> .Filter.Ne("Status", -1);

            if (!string.IsNullOrEmpty(keyword))
            {
                var filter1 = Builders <BsonDocument> .Filter.Regex("Name", keyword);

                filter = Builders <BsonDocument> .Filter.And(filter, filter1);
            }

            var sort = Builders <BsonDocument> .Sort.Descending("_id");

            var total = mongo.Count(Constant.UserCollectionName, filter);
            var docs  = mongo.FindMany(Constant.UserCollectionName, filter)
                        .Sort(sort)
                        .Skip(pageSize * (pageNum - 1))
                        .Limit(pageSize)
                        .ToList();

            var rows = new List <UserModel>();

            foreach (var doc in docs)
            {
                var roleID   = doc.Contains("RoleID") ? doc["RoleID"].ToString() : "";
                var roleName = "";

                var role = roles.Where(n => n.ID == roleID).FirstOrDefault();
                if (role != null)
                {
                    roleName = role.Name;
                }

                var deptID   = doc.Contains("DeptID") ? doc["DeptID"].ToString() : "";
                var deptName = "";

                var dept = depts.Where(n => n.ID == deptID).FirstOrDefault();
                if (dept != null)
                {
                    deptName = dept.Name;
                }

                rows.Add(new UserModel
                {
                    ID         = doc["ID"].ToString(),
                    Username   = doc["Username"].ToString(),
                    Password   = "",
                    Name       = doc["Name"].ToString(),
                    RoleID     = roleID,
                    RoleName   = roleName,
                    DeptID     = deptID,
                    DeptName   = deptName,
                    Gender     = doc["Gender"].ToInt32(),
                    Phone      = doc["Phone"].ToString(),
                    Email      = doc["Email"].ToString(),
                    QQ         = doc["QQ"].ToString(),
                    CreateTime = doc["CreateTime"].ToLocalTime(),
                    UpdateTime = doc["UpdateTime"].ToLocalTime(),
                    Status     = doc["Status"].ToInt32(),
                });
            }

            return(Json(new
            {
                Code = 200,
                Msg = "Get Successfully!",
                Data = new
                {
                    total,
                    rows,
                },
            }));
        }
Пример #12
0
        public JsonResult Edit(UserEditModel model)
        {
            var objectId = ObjectId.GenerateNewId();

            if (!string.IsNullOrEmpty(model.ID) && !ObjectId.TryParse(model.ID, out objectId))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "ID is not allowed."
                }));
            }

            if (string.IsNullOrEmpty(model.Username))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Username is not allowed to be empty.",
                }));
            }

            if (string.IsNullOrEmpty(model.Name))
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Name is not allowed to be empty."
                }));
            }

            if (string.IsNullOrEmpty(model.RoleID))
            {
                model.RoleID = "";
            }

            var mongo = new MongoHelper();

            // 判断是否是系统内置用户
            var filter = Builders <BsonDocument> .Filter.Eq("ID", objectId);

            var doc = mongo.FindOne(Constant.UserCollectionName, filter);

            if (doc == null)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "The user is not existed."
                }));
            }

            var userName = doc["Username"].ToString();

            if (userName == "admin")
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "Modifying system built-in users is not allowed."
                }));
            }

            // 判断用户名是否重复
            var filter1 = Builders <BsonDocument> .Filter.Ne("ID", objectId);

            var filter2 = Builders <BsonDocument> .Filter.Eq("Username", model.Username);

            filter = Builders <BsonDocument> .Filter.And(filter1, filter2);

            var count = mongo.Count(Constant.UserCollectionName, filter);

            if (count > 0)
            {
                return(Json(new
                {
                    Code = 300,
                    Msg = "The username is already existed.",
                }));
            }

            filter = Builders <BsonDocument> .Filter.Eq("ID", objectId);

            var update1 = Builders <BsonDocument> .Update.Set("Username", model.Username);

            var update2 = Builders <BsonDocument> .Update.Set("Name", model.Name);

            var update3 = Builders <BsonDocument> .Update.Set("RoleID", model.RoleID);

            var update4 = Builders <BsonDocument> .Update.Set("DeptID", model.DeptID);

            var update5 = Builders <BsonDocument> .Update.Set("UpdateTime", DateTime.Now);

            var update = Builders <BsonDocument> .Update.Combine(update1, update2, update3, update4, update5);

            mongo.UpdateOne(Constant.UserCollectionName, filter, update);

            return(Json(new
            {
                Code = 200,
                Msg = "Saved successfully!"
            }));
        }
Пример #13
0
        public void TestCount()
        {
            var num = _helper.Count <Employee>("T_Employee", m => m.Country == "CHI");

            Assert.AreEqual(2, num);
        }