public override global::System.Data.DataSet Clone()
        {
            ProjectTeamDataSet cln = ((ProjectTeamDataSet)(base.Clone()));

            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return(cln);
        }
        public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs)
        {
            ProjectTeamDataSet ds = new ProjectTeamDataSet();

            global::System.Xml.Schema.XmlSchemaComplexType type     = new global::System.Xml.Schema.XmlSchemaComplexType();
            global::System.Xml.Schema.XmlSchemaSequence    sequence = new global::System.Xml.Schema.XmlSchemaSequence();
            global::System.Xml.Schema.XmlSchemaAny         any      = new global::System.Xml.Schema.XmlSchemaAny();
            any.Namespace = ds.Namespace;
            sequence.Items.Add(any);
            type.Particle = sequence;
            global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
            if (xs.Contains(dsSchema.TargetNamespace))
            {
                global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                try {
                    global::System.Xml.Schema.XmlSchema schema = null;
                    dsSchema.Write(s1);
                    for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();)
                    {
                        schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                        s2.SetLength(0);
                        schema.Write(s2);
                        if ((s1.Length == s2.Length))
                        {
                            s1.Position = 0;
                            s2.Position = 0;
                            for (; ((s1.Position != s1.Length) &&
                                    (s1.ReadByte() == s2.ReadByte()));)
                            {
                                ;
                            }
                            if ((s1.Position == s1.Length))
                            {
                                return(type);
                            }
                        }
                    }
                }
                finally {
                    if ((s1 != null))
                    {
                        s1.Close();
                    }
                    if ((s2 != null))
                    {
                        s2.Close();
                    }
                }
            }
            xs.Add(dsSchema);
            return(type);
        }
Exemple #3
0
    //ProjectTeamDataSet ds = new ProjectTeamDataSet();
    //ProjectTeamDataSet.ProjectTeamRow row = ds.ProjectTeam.NewProjectTeamRow();
    //row.PROJ_UID = projectGuid;
    //row.RES_UID = resourceGuid;
    //row.NEW_RES_UID = resourceGuid;
    //ds.ProjectTeam.AddProjectTeamRow(row);
    public void QueueUpdateProjectTeam(Guid sessionUid, Guid projectUid, ProjectTeamDataSet dataset)
    {
        Guid jobUid = Guid.NewGuid();

        try
        {
            this.projectSvc.QueueUpdateProjectTeam(jobUid, sessionUid, projectUid, dataset);
        }
        catch (SoapException soapException)
        {
            List <string> queueErrors = new List <string>();
            queueErrors.Add(soapException.Message);
            Library.PSClientError clientError = new Library.PSClientError(soapException);
            Library.PSErrorInfo[] errors      = clientError.GetAllErrors();
            foreach (Library.PSErrorInfo error in errors)
            {
                queueErrors.Add(error.ErrId.ToString());
            }
        }
    }
Exemple #4
0
        public void UpdateProjectTeam(ProjectDataSet projectDs)
        {
            Guid projUid = projectDs.Project[0].PROJ_UID;
            string projectName = projectDs.Project[0].PROJ_NAME;
            Guid sessionId = Guid.NewGuid();
            Console.WriteLine("update project team started for {0}", projectName);
            //Read from the server the team that is present on the server for the project
            var projectTeam = projectClient.ReadProjectTeam(projUid);
            //For every resource read from the input file add to thye team if not already existing within the team
            foreach (var resource in projectDs.ProjectResource)
            {
                if (!projectTeam.ProjectTeam.Any(t => t.RES_NAME == resource.RES_NAME))
                {
                    var projectTeamRow = projectTeam.ProjectTeam.NewProjectTeamRow();
                    projectTeamRow.RES_UID = resource.RES_UID;
                    projectTeamRow.RES_NAME = resource.RES_NAME;
                    projectTeamRow.PROJ_UID = projUid;
                    projectTeamRow.NEW_RES_UID = resource.RES_UID;
                    projectTeam.ProjectTeam.Rows.Add(projectTeamRow);
                }
            }
            ProjectTeamDataSet teamDelta = new ProjectTeamDataSet();
            if (projectTeam.GetChanges(DataRowState.Added) != null)
            {
                projectClient.CheckOutProject(projUid, sessionId, "");
                teamDelta.Merge(projectTeam.GetChanges(DataRowState.Added));
                Guid jobGuid = Guid.NewGuid();
                projectClient.QueueUpdateProjectTeam(jobGuid, sessionId, projUid, teamDelta);
                if (WaitForQueueJobCompletion(jobGuid, Guid.NewGuid(), (int)SvcQueueSystem.QueueMsgType.ProjectUpdateTeam))
                {
                    jobGuid = Guid.NewGuid();
                    projectClient.QueueCheckInProject(jobGuid, projUid, true, Guid.NewGuid(), "");
                    if (WaitForQueueJobCompletion(jobGuid, Guid.NewGuid(), (int)SvcQueueSystem.QueueMsgType.ProjectCheckIn))
                    {
                        Console.WriteLine("update project team done successfully for {0}", projectName);
                    }
                    else
                    {
                        Console.WriteLine(
                                       "update project team done queue error for {0}", projectName);
                    }

                }
                else
                {
                    jobGuid = Guid.NewGuid();
                    projectClient.QueueCheckInProject(jobGuid, projUid, true, Guid.NewGuid(), "");
                    if (WaitForQueueJobCompletion(jobGuid, Guid.NewGuid(), (int)SvcQueueSystem.QueueMsgType.ProjectCheckIn))
                    {
                        Console.WriteLine("update project team done successfully for {0}", projectName);
                    }
                    else
                    {
                        Console.WriteLine(
                                       "update project team done queue error for {0}", projectName);
                    }
                    Console.WriteLine(
                                        "update project team done queue error for {0}", projectName);
                }
            }
            else
            {
                Console.WriteLine("update project team done successfully for {0}", projectName);
            }
        }
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs)
            {
                global::System.Xml.Schema.XmlSchemaComplexType type     = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence    sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                ProjectTeamDataSet ds = new ProjectTeamDataSet();

                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace       = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs       = new decimal(0);
                any1.MaxOccurs       = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace       = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs       = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name       = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name       = "tableTypeName";
                attribute2.FixedValue = "ProjectTeamDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace))
                {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext();)
                        {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length))
                            {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) &&
                                        (s1.ReadByte() == s2.ReadByte()));)
                                {
                                    ;
                                }
                                if ((s1.Position == s1.Length))
                                {
                                    return(type);
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null))
                        {
                            s1.Close();
                        }
                        if ((s2 != null))
                        {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return(type);
            }
Exemple #6
0
        public static void ClassInit(TestContext context)
        {
            _envUtil = new EnvUtil(PwaUri);

            _projectService   = PsiContext.Get <IProject>(PwaUri);
            _resourceService  = PsiContext.Get <IResource>(PwaUri);
            _statusingService = PsiContext.Get <IStatusing>(PwaUri);
            ResGuid           = _resourceService.Invoke(s => s.GetCurrentUserUid());

            ClassCleanup();

            var project = new TaskDetailsProject
            {
                ProjUid          = ProjectGuid,
                ProjName         = ProjectName,
                ProjType         = (int)ProjectType.Project,
                WprojDescription = ProjectName,
                Tasks            = new List <TaskDetailsTask>
                {
                    new TaskDetailsTask {
                        TaskName = "Task 1", TaskWork = 10000, TaskStartDate = DateTime.Now, TaskFinishDate = DateTime.Now.AddDays(3), TaskUid = TaskGuid, ProjUid = ProjectGuid
                    },
                    new TaskDetailsTask {
                        TaskName = "Task 2", TaskWork = 20000, TaskStartDate = DateTime.Now, TaskFinishDate = DateTime.Now.AddDays(3), TaskUid = Guid.NewGuid(), ProjUid = ProjectGuid
                    },
                    new TaskDetailsTask {
                        TaskName = "Task 3", TaskWork = 30000, TaskStartDate = DateTime.Now, TaskFinishDate = DateTime.Now.AddDays(3), TaskUid = Guid.NewGuid(), ProjUid = ProjectGuid
                    },
                }
            };

            var projectTeamResource = new TaskDetailsProjectTeamResource
            {
                ResUid    = ResGuid,
                ProjUid   = ProjectGuid,
                NewResUid = ResGuid
            };

            var assn = new TaskDetailsAssignment
            {
                AssnUid = AssnGuid,
                ResUid  = ResGuid,
                ProjUid = ProjectGuid,
                TaskUid = TaskGuid
            };


            var projectCreateDs = new ProjectDataSet();

            Mapper.Map(project, projectCreateDs.Project);
            Mapper.Map(project.Tasks, projectCreateDs.Task);

            var projectTeamDs = new ProjectTeamDataSet();

            Mapper.Map(projectTeamResource, projectTeamDs.ProjectTeam);

            var projectAssnDs = new ProjectDataSet();

            Mapper.Map(assn, projectAssnDs.Assignment);

            var createProjectJobUid = Guid.NewGuid();

            _projectService.Invoke(p => p.QueueCreateProjectAndCheckOut(createProjectJobUid, SessionGuid, "Unit tests session", projectCreateDs, false));
            _envUtil.Wait(createProjectJobUid);

            var updateProjectTeamJobUid = Guid.NewGuid();

            _projectService.Invoke(p => p.QueueUpdateProjectTeam(updateProjectTeamJobUid, SessionGuid, ProjectGuid, projectTeamDs));
            _envUtil.Wait(updateProjectTeamJobUid);

            //Describe common error : GeneralOnlyInsertsAllowed
            //https://social.msdn.microsoft.com/Forums/en-US/f6cd2eee-3748-47c1-b199-61872b9288b0/im-getting-error-generalonlyinsertsallowed-when-trying-to-add-a-new-task-to-a-project?forum=project2010custprog
            var assnUpdateJobUid = Guid.NewGuid();

            _projectService.Invoke(s => s.QueueAddToProject(assnUpdateJobUid, SessionGuid, projectAssnDs, false));
            _envUtil.Wait(assnUpdateJobUid);

            var checkInProjectJobUid = Guid.NewGuid();

            _projectService.Invoke(p => p.QueueCheckInProject(checkInProjectJobUid, ProjectGuid, false, SessionGuid, "Unit tests session"));
            _envUtil.Wait(checkInProjectJobUid);

            var publishProjectJobUid = Guid.NewGuid();

            _projectService.Invoke(p => p.QueuePublish(publishProjectJobUid, ProjectGuid, true, string.Empty));
            _envUtil.Wait(publishProjectJobUid);

            var publishSummaryProjectJobUid = Guid.NewGuid();

            _projectService.Invoke(p => p.QueuePublishSummary(publishSummaryProjectJobUid, ProjectGuid));
            _envUtil.Wait(publishSummaryProjectJobUid);
        }