Beispiel #1
0
        public ActionResult Delete(Trainning entity)
        {
            var userId = User.Identity.Name;

            try
            {
                // TODO: Add disable logic here
                if (CheckDelete(entity))
                {
                    dbContext.Trainnings.DeleteOne(m => m.Id == entity.Id);

                    #region Activities
                    var activity = new TrackingUser
                    {
                        UserId   = userId,
                        Function = "Đào tạo",
                        Action   = Constants.Action.Delete,
                        Value    = entity.Name,
                        Content  = entity.Name + Constants.Flag + entity.Type
                    };
                    dbContext.TrackingUsers.InsertOne(activity);
                    #endregion

                    return(Json(new { entity, result = true, message = "Xóa thành công." }));
                }
                else
                {
                    return(Json(new { entity, result = false, message = entity.Name + " chỉnh sửa bởi người khác." }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { entity, result = false, message = ex.Message }));
            }
        }
Beispiel #2
0
        public ActionResult Create(Trainning entity)
        {
            var userId = User.Identity.Name;

            try
            {
                if (CheckExist(entity))
                {
                    dbContext.Trainnings.InsertOne(entity);

                    #region Activities
                    var activity = new TrackingUser
                    {
                        UserId   = userId,
                        Function = "Đào tạo",
                        Action   = Constants.Action.Create,
                        Value    = entity.Alias,
                        Content  = entity.Alias + Constants.Flag + entity.Type
                    };
                    dbContext.TrackingUsers.InsertOne(activity);
                    #endregion

                    return(Json(new { entity, result = true, message = "Tạo mới thành công." }));
                }
                else
                {
                    return(Json(new { entity, result = false, message = entity.Name + " đã tồn tại. Đặt tên khác hoặc liên hệ IT hỗ trợ." }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { entity, result = false, message = ex.Message }));
            }
        }
Beispiel #3
0
 public bool CheckDelete(Trainning entity)
 {
     if (entity.NoDelete)
     {
         return(false);
     }
     return(entity.Usage > 0 ? false : true);
 }
Beispiel #4
0
        public bool CheckUpdate(Trainning entity)
        {
            var db = dbContext.Trainnings.Find(m => m.Enable.Equals(true) && m.Name.Equals(entity.Name)).First();

            if (db.Name != entity.Name)
            {
                if (CheckExist(entity))
                {
                    return(db.Timestamp == entity.Timestamp ? true : false);
                }
            }
            return(db.Timestamp == entity.Timestamp ? true : false);
        }
Beispiel #5
0
        public ActionResult Active(Trainning entity)
        {
            var userId = User.Identity.Name;

            try
            {
                // TODO: Add disable logic here
                if (CheckActive(entity))
                {
                    var filter = Builders <Trainning> .Filter.Eq(d => d.Id, entity.Id);

                    var update = Builders <Trainning> .Update
                                 .Set(c => c.Enable, true);

                    dbContext.Trainnings.UpdateOne(filter, update);

                    #region Activities
                    var activity = new TrackingUser
                    {
                        UserId   = userId,
                        Function = "Đào tạo",
                        Action   = Constants.Action.Active,
                        Value    = entity.Name,
                        Content  = entity.Name + Constants.Flag + entity.Type
                    };
                    dbContext.TrackingUsers.InsertOne(activity);
                    #endregion

                    return(Json(new { entity, result = true, message = entity.Name + " khôi phục thành công." }));
                }
                else
                {
                    return(Json(new { entity, result = false, message = entity.Name + " đã tồn tại." }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { entity, result = false, message = ex.Message }));
            }
        }
Beispiel #6
0
        public ActionResult Edit(Trainning entity)
        {
            var userId = User.Identity.Name;

            try
            {
                if (CheckUpdate(entity))
                {
                    entity.Timestamp = DateTime.Now.ToString("yyyyMMddHHmmssfff");
                    dbContext.Trainnings.ReplaceOne(m => m.Id == entity.Id, entity);

                    #region Activities
                    var activity = new TrackingUser
                    {
                        UserId   = userId,
                        Function = "Đào tạo",
                        Action   = Constants.Action.Edit,
                        Value    = entity.Name,
                        Content  = entity.Name + Constants.Flag + entity.Type,
                    };
                    dbContext.TrackingUsers.InsertOne(activity);
                    #endregion

                    return(Json(new { entity, result = true, message = "Cập nhật thành công." }));
                    //return RedirectToAction("Index", "Trainning");
                }
                else
                {
                    return(Json(new { entity, result = false, message = entity.Name + " đã thay đổi nội dung bởi 1 người khác. Tải lại trang hoặc thoát." }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { entity, result = false, message = ex.Message }));
            }
        }
Beispiel #7
0
 public bool CheckActive(Trainning entity)
 {
     return(dbContext.Trainnings.CountDocuments(m => m.Enable.Equals(true) && m.Name.Equals(entity.Name)) > 0 ? false : true);
 }
Beispiel #8
0
 public bool CheckDisable(Trainning entity)
 {
     return(entity.Usage > 0 ? false : true);
 }