Beispiel #1
0
        private void PushNotice(int UserId, int CompanyID, TSMUserAccountDbModel userAccount)
        {
            var permissUser = _db.Instance.Queryable <TSMUserAccountDbModel, TSMRoleUserRelationDbModel, TSMRolePermissionsDbModel, TSMRolesDbModel, TPMMenusDbModel>(
                (x, x1, x2, x3, x4) => new object[]
            {
                JoinType.Inner, x.ID == x1.UserId,
                JoinType.Inner, x1.RoleId == x2.RoleId,
                JoinType.Inner, x2.RoleId == x3.Id,
                JoinType.Inner, x2.MenuId == x4.Id
            }).Where((x, x1, x2, x3, x4) => x.CompanyId == CompanyID && x.Status == 1 && x4.MenuPath == "/views/SysSettings/UserAuth/index.vue")
                              .Select((x, x1, x2, x3, x4) => x).ToList();

            var adminUser = _db.Instance.Queryable <TSMUserAccountDbModel, TSMCompanyDbModel>((x, x1) => new object[] {
                JoinType.Inner, x.ID == x1.AdminId
            }).Where((x, x1) => x1.ID == CompanyID).Select((x, x1) => x).First();

            if (!permissUser.Any(p => p.ID == adminUser.ID))
            {
                permissUser.Add(adminUser);
            }


            var redis = CacheFactory.Instance(CacheType.Redis);

            List <ToDoMgModel> toDoMgModelList = new List <ToDoMgModel>();

            foreach (var userTtem in permissUser)
            {
                ToDoMgModel toDoModel = new ToDoMgModel();
                toDoModel.Title       = "申请加入公司";
                toDoModel.Content     = $"姓名:{userAccount.AccountName} 电话:{userAccount.TelAccount},申请加入公司";
                toDoModel.CreateBy    = UserId;
                toDoModel.CreateDate  = DateTime.Now;
                toDoModel.IsRead      = false;
                toDoModel.MessageType = MessageTypeMgEnum.ToApplytoComplany;
                toDoModel.To          = userTtem.ID;
                toDoModel.ToDoId      = Guid.NewGuid().ToString();
                toDoModel.CompanyID   = CompanyID;
                toDoMgModelList.Add(toDoModel);
            }

            MongoDbUtil.AddDoc(toDoMgModelList);
        }
Beispiel #2
0
        public ResponseObject <bool> Read(string Id, CurrentUser currentUser)
        {
            try
            {
                ToDoMgModel loginLog = MongoDbUtil.GetDoc <ToDoMgModel>(p => p.ToDoId == Id, null).FirstOrDefault();

                if (loginLog != null)
                {
                    UpdateDefinition <ToDoMgModel> update = Builders <ToDoMgModel> .
                                                            Update.Set(y => y.IsRead, true);

                    MongoDbUtil.UpdateOne <ToDoMgModel>(p => p.ToDoId == Id && p.CompanyID == currentUser.CompanyID, update);
                }

                return(ResponseUtil <bool> .SuccessResult(true));
            }
            catch (Exception ex)
            {
                return(ResponseUtil <bool> .FailResult(false, $"{ex.Message}"));
            }
        }