コード例 #1
0
ファイル: DataGRSR.ascx.cs プロジェクト: porter1130/C-A
        /**
         * 查询当前帐号对应的已产生PO的且为未收货状态的Item
         */
        private SPListItemCollection GetPOItemCollection(string sPONumber,string sPRNumber)
        {
            var qIsReceived = new QueryField("IsReceived", false);
            QueryField qCostCenter = new QueryField("CostCenter", false);
            QueryField qCreated = new QueryField("Created", false);
            CamlExpression exp = null;
            exp = WorkFlowUtil.LinkAnd(exp, qIsReceived.NotEqual(true));

               string sUserName = SPContext.Current.Web.CurrentUser.LoginName;

               if (PurchaseRequestCommon.IsInGroups(sUserName, new string[] { "wf_Store" }))
               {
               List<string> costCenters = GetOwnCostCenters(SPContext.Current.Web.CurrentUser.LoginName);
               if (costCenters.Count == 0)
               {
                   return null;
               }

               CamlExpression ceOR = null;
               foreach (var costCenter in costCenters)
               {
                   ceOR = WorkFlowUtil.LinkOr(ceOR, qCostCenter.Equal(costCenter));
               }
               exp = WorkFlowUtil.LinkAnd(exp, ceOR);

               }
               else if (PurchaseRequestCommon.IsInGroups(sUserName, new string[] { "wf_HO" }))//如果是wf_HO
               {
               QueryField qAuthor = new QueryField("Author", false);
               exp = WorkFlowUtil.LinkAnd(exp, qAuthor.Equal(SPContext.Current.Web.CurrentUser.Name));

               HFIsHO.Value = "True";
               }
               else if (PurchaseRequestCommon.IsInGroups(sUserName, new string[] { "w_PMGR" }))
               {
               QueryField qfTitle = new QueryField("Title", false);
               exp = WorkFlowUtil.LinkAnd(exp, qfTitle.BeginsWith("H"));
               }

               int iPO = sPONumber.Length;
               int iPR = sPRNumber.Length;
               if (iPO > 0)//按PONumber查询
               {
               QueryField qTitle = new QueryField("Title", false);
               exp = WorkFlowUtil.LinkAnd(exp, qTitle.Equal(sPONumber));
               }
               if (iPR > 0)
               {
               QueryField qPRNO = new QueryField("PRNumber", false);
               exp = WorkFlowUtil.LinkAnd(exp, qPRNO.Equal(sPRNumber));
               }
               if (iPO > 0 || iPR > 0)
               {
               QueryField qTitle = new QueryField("Title", false);
               CamlExpression ce = null;
               ce = WorkFlowUtil.LinkAnd(ce,qIsReceived.NotEqual(true));
               ce = WorkFlowUtil.LinkAnd(ce, qTitle.Contains("R"));
               exp = WorkFlowUtil.LinkOr(ce, exp);
               }
              SPListItemCollection  lc = ListQuery.Select()
                   .From(SPContext.Current.Web.Lists["PurchaseOrderItems"])
                    .Where(exp)
                    .GetItems();

            return lc;
        }
コード例 #2
0
        void BindCostCenter()
        {
            DataTable dt = new DataTable();

            CamlExpression ceIsActive = null;
            CamlExpression ceTitle = null;
            CamlExpression ce = null;

            QueryField qfIsActive = new QueryField("IsActive");
            ceIsActive = WorkFlowUtil.LinkAnd(ceIsActive, qfIsActive.Equal(true));

            QueryField qfTitle = new QueryField("Title");
            ceTitle = WorkFlowUtil.LinkOr(ceTitle, qfTitle.BeginsWith("S"));
            ceTitle = WorkFlowUtil.LinkOr(ceTitle, qfTitle.BeginsWith("H10S"));

            ce = WorkFlowUtil.LinkAnd(ceIsActive, ceTitle);

            dt = ListQuery.Select().From(SPContext.Current.Web.Lists["Cost Centers"]).Where(ce).GetItems().GetDataTable();

            DDLCostCenter.DataSource = dt;
            DDLCostCenter.DataTextField = "Display";
            DDLCostCenter.DataValueField = "ID";
            DDLCostCenter.DataBind();
            DDLCostCenter.Items.Insert(0,new ListItem("--Please select CostCenter--",""));
        }