Ejemplo n.º 1
0
        public string AddPDP2Stage(List <PDPStageMapping> Mapping)
        {
            string success = string.Empty;

            try
            {
                using (var clientContext = new ClientContext(_PWAUrl))
                {
                    clientContext.Credentials = new System.Net.NetworkCredential(_UserName, _Password);
                    var projectContext = new ProjectServer(clientContext);

                    var objPDPCollection = projectContext.ProjectDetailPages;
                    clientContext.Load(objPDPCollection);
                    clientContext.Load(projectContext.Stages);
                    clientContext.ExecuteQuery();

                    if (objPDPCollection.AreItemsAvailable)
                    {
                        foreach (PDPStageMapping objmap in Mapping)
                        {
                            ProjectDetailPage objNewPage = objPDPCollection.GetByGuid(objmap.PDPId);
                            Stage             stage      = projectContext.Stages.GetByGuid(objmap.StageId);
                            clientContext.Load(objNewPage);
                            clientContext.Load(stage);
                            clientContext.ExecuteQuery();

                            clientContext.Load(stage.ProjectDetailPages);
                            clientContext.ExecuteQuery();

                            Guid pdpGuid           = objNewPage.Id;
                            int  objOldStageDetail = stage.ProjectDetailPages.Where(x => x.Id == pdpGuid).Count();

                            if (objOldStageDetail == 0)
                            {
                                StageDetailPageCreationInformation objPDPCreationInfo = new StageDetailPageCreationInformation();
                                objPDPCreationInfo.Id                = pdpGuid;
                                objPDPCreationInfo.Position          = 1;
                                objPDPCreationInfo.RequiresAttention = false;
                                objPDPCreationInfo.Description       = objNewPage.Name;

                                StageDetailPage objStageDetail = stage.ProjectDetailPages.Add(objPDPCreationInfo);

                                projectContext.Stages.Update();
                                clientContext.ExecuteQuery();
                                success = "Success";
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                success = ex.Message;
            }
            return(success);
        }
Ejemplo n.º 2
0
        public string AddStage(string StageName, string Description, Guid PhaseId, Guid WorkflowStatusPageId,
                               List <PSHPDP> listPDPs)
        {
            string success = string.Empty;

            try
            {
                using (var clientContext = new ClientContext(_PWAUrl))
                {
                    clientContext.Credentials = new System.Net.NetworkCredential(_UserName, _Password);
                    var projectContext = new ProjectServer(clientContext);

                    var objPDPCollection = projectContext.ProjectDetailPages;
                    clientContext.Load(objPDPCollection);
                    clientContext.Load(projectContext.Stages);
                    clientContext.ExecuteQuery();

                    List <StageDetailPageCreationInformation> listPDPCreationInfo = new List <StageDetailPageCreationInformation>();
                    foreach (PSHPDP objPDP in listPDPs)
                    {
                        StageDetailPageCreationInformation objPDPCreationInfo = new StageDetailPageCreationInformation();
                        objPDPCreationInfo.Id                = objPDP.PDPGuid;
                        objPDPCreationInfo.Position          = 1;
                        objPDPCreationInfo.RequiresAttention = false;
                        objPDPCreationInfo.Description       = objPDP.PDPName;

                        listPDPCreationInfo.Add(objPDPCreationInfo);
                    }

                    StageCreationInformation objStgCreation = new StageCreationInformation();
                    objStgCreation.Name                 = StageName;
                    objStgCreation.Description          = Description;
                    objStgCreation.PhaseId              = PhaseId;
                    objStgCreation.WorkflowStatusPageId = WorkflowStatusPageId;
                    objStgCreation.ProjectDetailPages   = listPDPCreationInfo;

                    projectContext.Stages.Add(objStgCreation);
                    projectContext.Stages.Update();
                    clientContext.ExecuteQuery();
                    success = "Success";
                }
            }
            catch (Exception ex)
            {
                success = ex.Message;
            }
            return(success);
        }