public bool IsFiltered(MessageModel model, IUnitOfData unitOfData)
        {
            bool   isFiltered = false;
            string userID     = AtawAppContext.Current.UserId;

            if (model.ReceiveID == userID)
            {
                return(isFiltered);
            }
            if (!model.Privacy.IsEmpty())
            {
                switch (model.Privacy.ToEnum <PrivacyType>())
                {
                case PrivacyType.ToDepartment:
                    string sql   = "SELECT COUNT(*) FROM Ataw_UsersDetail WHERE USERID=@UserID AND FDepartmentID=@DepartmentID";
                    var    count = unitOfData.QueryObject(sql, new SqlParameter("@UserID", userID),
                                                          new SqlParameter("@DepartmentID", model.ReceiveID)).Value <int>();
                    if (count == 0)
                    {
                        isFiltered = true;
                    }
                    break;

                case PrivacyType.ToUser:
                    if (model.ReceiveID != userID)
                    {
                        isFiltered = true;
                    }
                    break;
                }
            }
            return(isFiltered);
        }
Exemple #2
0
 public object QueryObject(IUnitOfData unitData)
 {
     if (ParamList != null && ParamList.Count > 0)
     {
         return(unitData.QueryObject(SqlTxt, ParamList.ToArray()));
     }
     return(null);
 }
Exemple #3
0
        public DataSet Query(IUnitOfData unitOfData)
        {
            int count = unitOfData.QueryObject(CountSql, Params.ToArray()).Value <int>();

            Page.TotalCount = count;
            Params.Add(new SqlParameter("@PageNo", SqlDbType.Int)
            {
                SqlValue = Page.PageIndex
            });
            Params.Add(new SqlParameter("@pageSize", SqlDbType.Int)
            {
                SqlValue = Page.PageSize
            });
            return(unitOfData.QueryDataSet(Sql, Params.ToArray()));
        }
        public void DoPush(IEnumerable <string> userIds, NodeRequest nodeRequest, DataAccess.WF_WORKFLOW_INST mainRow, IUnitOfData source)
        {
            //throw new NotImplementedException();
            if (userIds == null || userIds.Count() == 0)
            {
                return;
            }
            var workflowSource = source as WorkflowDbContext;

            if (workflowSource == null)
            {
                return;
            }
            var workflowDefName = workflowSource.WF_WORKFLOW_DEF.FirstOrDefault(m => m.WD_SHORT_NAME == mainRow.WI_WD_NAME).WD_NAME;

            foreach (var userId in userIds)
            {
                var              selectsql = string.Format("SELECT NickName FROM Ataw_Users WHERE UserID=@USERID");
                var              param     = new SqlParameter("@USERID", userId);
                string           nickName  = source.QueryObject(selectsql, param).ToString();
                SnsActiveService sns       = new SnsActiveService();
                sns.SetUnitOfData(source);
                string title = string.Format(ObjectUtil.SysCulture, "待处理流程到达:"
                                             + "<a class='ACT-A-HREF' href='$windefault$module/workflow/workflowDef$Detail${0}'>{1}</a>"
                                             + "<br/>"
                                             + "<a class='ACT-A-HREF' href='$winworkflow$inst$${2}'>{3}-{4}</a>", Convert.ToBase64String(Encoding.Default.GetBytes("{\"keys\":\"" + mainRow.WI_WD_NAME + "\"}")), workflowDefName, mainRow.WI_ID, mainRow.WI_NAME, mainRow.WI_CURRENT_STEP_NAME);
                sns.InsertActive(new ActiveModel()
                {
                    ItemType      = ActivityItemType.MyWork.ToString(),
                    PrivacyStatus = PrivacyType.ToMyself.ToString(),
                    SourceId      = mainRow.WI_ID,
                    SubContent    = title,
                    UserId        = userId,
                    UserName      = nickName
                });
            }

            source.ApplyFun.Add((tran) =>
            {
                NodeServerPusher.Notify(userIds, null);
                return(0);
            });
        }