コード例 #1
0
        public static AppraisalForm GetAppraisalFormByID(int id, string currentWebUrl, bool skipLoadingObjectives = false)
        {
            AppraisalForm form = new AppraisalForm();

            SPQuery appraisalQuery = new SPQuery()
            {
                Query = String.Format(@"<Where><Eq><FieldRef Name='ID'/><Value Type='Lookup'>{0}</Value></Eq></Where>", id)
            };
            SPListItemCollection queryAppraisalItems = SPListHelper.GetListItemsByQuery(Configuration.AppraisalFormsListName, appraisalQuery, currentWebUrl);

            if (queryAppraisalItems != null && queryAppraisalItems.Count > 0)
            {
                SPListItem appraisalItem = queryAppraisalItems[0];
                form.ID = appraisalItem.ID;

                form.IsCompleted             = appraisalItem["IsCompleted"] != null ? (bool)appraisalItem["IsCompleted"] : false;
                form.AppraisalFormTemplateID = appraisalItem["AppraisalFormTemplateID"].LookupToInt();
                form.State = (StateType)Enum.Parse(typeof(StateType), appraisalItem["State"].ToString());
            }

            if (!skipLoadingObjectives)
            {
                form.Objectives = GetAppraisalFormObjectives(form.ID, currentWebUrl);
            }

            return(form);
        }
コード例 #2
0
        public void SetStatuesWhenHelperDelay(SPUserCodeWorkflowContext context, int id)
        {
            try
            {
                AppraisalForm form = GetAppraisalFormByID(id, context.CurrentWebUrl, true);

                foreach (Objective obj in form.Objectives)
                {
                    if (obj.Helpers.Where(h => h.State == StateType.Submited || h.State == StateType.TimeExpired).Count()
                        == obj.Helpers.Count())
                    {
                        if (obj.IsCompleted == false)
                        {
                            SPListHelper.UpdateItem(obj.ID, Configuration.ObjectivesListName, "IsCompleted", true, context.CurrentWebUrl);
                        }
                    }
                }

                if (form.Objectives.Where(o => o.IsCompleted == true).Count() == form.Objectives.Count())
                {
                    if (form.IsCompleted == false)
                    {
                        SPListHelper.UpdateItem(form.ID, Configuration.AppraisalFormsListName, "IsCompleted", true, context.CurrentWebUrl);
                    }
                }
            }
            catch (Exception e)
            {
            }
        }