Esempio n. 1
0
        public void SetUp()
        {
            cm.Clear(false);
            cm.LoadFile(CONF);
            cm.LoadFile("../../test_files/stress/ConnectionFactory.xml");

            string name =
                cm.GetValue("HermesNS.TC.Services.ScheduleItem.Persistence.HermesScheduleItemPersistenceProvider",
                            "connectionName");

            provider = new HermesScheduleItemPersistenceProvider(name, new HermesScheduleItemPersistenceHelper());
            group    = CreateActivityGroup();

            provider.SaveActivityGroup(group);

            activityType = CreateActivityType();
            provider.SaveActivityType(activityType);
            activity = CreateActivity();
            provider.SaveActivity(activity);

            itemStatus = CreateScheduleItemStatus();
            provider.SaveScheduleItemStatus(itemStatus);
            requestStatus = CreateScheduleItemRequestStatus();
            provider.SaveScheduleItemRequestStatus(requestStatus);
            scheduleItem = CreateScheduleItem();
            provider.SaveScheduleItem(scheduleItem);
        }
Esempio n. 2
0
        public void BenchmarkSaveScheduleItems()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");
            HermesActivityType  activityType  = client.CreateActivityType("AT1", activityGroup);
            HermesActivity      activity      = client.CreateActivity("Test", activityType);

            // Create the item
            HermesScheduleItem item = client.CreateScheduleItem(DateTime.Today, activity);

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                item.Duration = i;

                IList <HermesScheduleItem> items = new List <HermesScheduleItem>();
                items.Add(item);

                // Save the item.
                IList <HermesScheduleItem> result = client.SaveScheduleItems(items);

                // Verify the result.
                Assert.IsNotNull(result, "Should not be null.");
            }
            StressTestsHelper.Stop("SaveScheduleItems");
        }
Esempio n. 3
0
        public void BenchmarkDeleteScheduleItems()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");
            HermesActivityType  activityType  = client.CreateActivityType("AT1", activityGroup);
            HermesActivity      activity      = client.CreateActivity("Test", activityType);

            HermesScheduleItem[] items = new HermesScheduleItem[StressTestsHelper.Iteration];

            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                // Create the item
                items[i] = client.CreateScheduleItem(DateTime.Today, activity);
            }

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                IList <string> ids = new List <string>();
                ids.Add(items[i].Id);

                // Delete the items.
                client.DeleteScheduleItems(ids);
            }
            StressTestsHelper.Stop("DeleteScheduleItems");
        }
Esempio n. 4
0
        public void TestGetAllActivityGroups_Accuracy2()
        {
            HermesActivityGroup         first  = AccuracyTestsHelper.CreateHermesActivityGroup();
            IList <HermesActivityGroup> second = instance.GetAllActivityGroups();

            Assert.AreEqual(0, second.Count, "GetAllActivityGroups is wrong.");
        }
Esempio n. 5
0
        public void TestGetActivityGroup_Accuracy2()
        {
            HermesActivityGroup first  = AccuracyTestsHelper.CreateHermesActivityGroup();
            HermesActivityGroup second = instance.GetActivityGroup(first.Id);

            Assert.IsNull(second);
        }
Esempio n. 6
0
 /// <summary>
 /// Validates HermesActivityGroup.
 /// </summary>
 /// <param name="first">The first entity.</param>
 /// <param name="second">>The second entity.</param>
 internal static void VerifyHermesActivityGroup(HermesActivityGroup first, HermesActivityGroup second)
 {
     Assert.AreEqual(first.Abbreviation, second.Abbreviation, "Abbreviation is wrong.");
     Assert.AreEqual(first.Id, second.Id, "Id is wrong.");
     Assert.AreEqual(first.LastModifiedBy, second.LastModifiedBy, "LastModifiedBy is wrong.");
     Assert.AreEqual(first.LastModifiedDate.Date, second.LastModifiedDate.Date, "LastModifiedDate is wrong.");
     Assert.AreEqual(first.Name, second.Name, "Name is wrong.");
 }
Esempio n. 7
0
 public void BenchmarkCreateActivityGroup()
 {
     StressTestsHelper.Start();
     for (int i = 0; i < StressTestsHelper.Iteration; i++)
     {
         HermesActivityGroup activityGroup = client.CreateActivityGroup("AG" + i);
         Assert.IsNotNull(activityGroup, "activityGroup should have been created.");
     }
     StressTestsHelper.Stop("CreateActivityGroup");
 }
Esempio n. 8
0
        /// <summary>
        /// Create the HermesActivityGroup for the test
        /// </summary>
        /// <returns>the instance of the HermesActivityGroup</returns>
        private HermesActivityGroup CreateActivityGroup()
        {
            HermesActivityGroup group = new HermesActivityGroup();

            group.Id               = Guid.NewGuid().ToString("n");
            group.Abbreviation     = "HAG";
            group.Name             = "HermesActivityGroup";
            group.LastModifiedBy   = "hagUser";
            group.LastModifiedDate = DateTime.Now;
            return(group);
        }
Esempio n. 9
0
        public void TestGetActivityGroup_Accuracy1()
        {
            HermesActivityGroup first = AccuracyTestsHelper.CreateHermesActivityGroup();

            instance.SaveActivityGroup(first);

            // Verify
            HermesActivityGroup second = instance.GetActivityGroup(first.Id);

            AccuracyTestsHelper.VerifyHermesActivityGroup(first, second);
        }
Esempio n. 10
0
        /// <summary>
        /// Creates HermesActivityGroup.
        /// </summary>
        internal static HermesActivityGroup CreateHermesActivityGroup()
        {
            HermesActivityGroup entity = new HermesActivityGroup();

            entity.Abbreviation     = "Abbreviation 1";
            entity.Id               = Guid.NewGuid().ToString();
            entity.LastModifiedBy   = "zaixiang";
            entity.LastModifiedDate = DateTime.Now;
            entity.Name             = "HermesActivityGroup";
            return(entity);
        }
Esempio n. 11
0
        public void BenchmarkCreateActivityType()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                HermesActivityType activityType = client.CreateActivityType("AT" + i, activityGroup);
                Assert.IsNotNull(activityType, "activityType should have been created.");
            }
            StressTestsHelper.Stop("CreateActivityType");
        }
Esempio n. 12
0
        public void TestGetAllActivityGroups_Accuracy1()
        {
            HermesActivityGroup first = AccuracyTestsHelper.CreateHermesActivityGroup();

            instance.SaveActivityGroup(first);

            // Verify
            IList <HermesActivityGroup> second = instance.GetAllActivityGroups();

            Assert.AreEqual(1, second.Count, "GetAllActivityGroups is wrong.");
            AccuracyTestsHelper.VerifyHermesActivityGroup(first, second[0]);
        }
Esempio n. 13
0
        /// <summary>
        /// Create an instance of <see cref="HermesActivityGroup"/>.
        /// </summary>
        /// <returns>The created HermesActivityGroup instance.</returns>
        private static HermesActivityGroup CreateGroup()
        {
            HermesActivityGroup group = new HermesActivityGroup();

            group.Abbreviation     = "dev";
            group.Name             = "Developer";
            group.LastModifiedBy   = "failureTester";
            group.LastModifiedDate = DateTime.UtcNow;
            group.Id = Guid.NewGuid().ToString("N");

            return(group);
        }
Esempio n. 14
0
        public void BenchmarkGetActivityGroup()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                HermesActivityGroup result = client.GetActivityGroup(activityGroup.Id);
                Assert.IsNotNull(result, "result should have been retrieved.");
            }
            StressTestsHelper.Stop("GetActivityGroup");
        }
Esempio n. 15
0
        public void BenchmarkGetActivityType()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");
            HermesActivityType  activityType  = client.CreateActivityType("AT1", activityGroup);

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                HermesActivityType result = client.GetActivityType(activityType.Id);
                Assert.IsNotNull(result, "result should have been created.");
            }
            StressTestsHelper.Stop("GetActivityType");
        }
Esempio n. 16
0
        public void BenchmarkDeleteActivityGroup()
        {
            HermesActivityGroup[] activityGroups = new HermesActivityGroup[StressTestsHelper.Iteration];

            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                activityGroups[i] = client.CreateActivityGroup("AG" + i);
            }

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                client.DeleteActivityGroup(activityGroups[i].Id);
            }
            StressTestsHelper.Stop("DeleteActivityGroup");
        }
Esempio n. 17
0
        public void BenchmarkGetAllActivityTypes()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");

            for (int i = 0; i < 10; i++)
            {
                client.CreateActivityType("AT" + i, activityGroup);
            }

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                IList <HermesActivityType> result = client.GetAllActivityTypes();
                Assert.IsNotNull(result, "result should have been created.");
            }
            StressTestsHelper.Stop("GetAllActivityTypes");
        }
Esempio n. 18
0
        public void TestDeleteActivityGroup_Accuracy()
        {
            HermesActivityGroup first = AccuracyTestsHelper.CreateHermesActivityGroup();

            instance.SaveActivityGroup(first);

            // Verify
            HermesActivityGroup second = instance.GetActivityGroup(first.Id);

            Assert.IsNotNull(second, "SaveActivityGroup is wrong.");

            instance.DeleteActivityGroup(first.Id);

            // Verify
            second = instance.GetActivityGroup(first.Id);
            Assert.IsNull(second, "DeleteActivityGroup is wrong.");
        }
Esempio n. 19
0
        public void TestActivityGroup()
        {
            DateTime            start         = DateTime.Now;
            HermesActivityGroup activityGroup = CreateActivityGroup();

            for (int i = 1; i <= ITERATION; i++)
            {
                activityGroup.LastModifiedBy = "test" + i;
                provider.SaveActivityGroup(activityGroup);
                HermesActivityGroup result = provider.GetActivityGroup(activityGroup.Id);
                Assert.AreEqual(activityGroup.LastModifiedBy, result.LastModifiedBy);
                provider.DeleteActivityGroup(activityGroup.Id);
                Assert.IsNull(provider.GetActivityGroup(activityGroup.Id));
                IList <HermesActivityGroup> list = provider.GetAllActivityGroups();
            }
            Console.WriteLine("test ActivityGroup run {0} times, taking {1}ms.", ITERATION,
                              (DateTime.Now - start).TotalMilliseconds.ToString("n"));
        }
Esempio n. 20
0
        public void BenchmarkDeleteActivity()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");
            HermesActivityType  activityType  = client.CreateActivityType("AT1", activityGroup);

            HermesActivity[] activities = new HermesActivity[StressTestsHelper.Iteration];
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                activities[i] = client.CreateActivity("Test", activityType);
            }

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                client.DeleteActivity(activities[i].Id);
            }
            StressTestsHelper.Stop("DeleteActivity");
        }
Esempio n. 21
0
        public void BenchmarkCreateScheduleItem()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");
            HermesActivityType  activityType  = client.CreateActivityType("AT1", activityGroup);
            HermesActivity      activity      = client.CreateActivity("Test", activityType);

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                // Create the item
                HermesScheduleItem item = client.CreateScheduleItem(DateTime.Today, activity);

                // Verify the result.
                HermesScheduleItem result = client.GetScheduleItem(item.Id);

                Assert.IsNotNull(result, "HermesScheduleItem gotten should not be null.");
            }
            StressTestsHelper.Stop("CreateScheduleItem");
        }
Esempio n. 22
0
        public void BenchmarkSaveActivity()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");
            HermesActivityType  activityType  = client.CreateActivityType("AT1", activityGroup);

            HermesActivity[] activities = new HermesActivity[StressTestsHelper.Iteration];
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                activities[i] = client.CreateActivity("Test" + i, activityType);
                activities[i].Abbreviation = "abbr" + i;
                activities[i].ActivityType = activityType;
            }

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                HermesActivity activity = client.SaveActivity(activities[i]);
                Assert.IsNotNull(activity, "Should not be null.");
            }
            StressTestsHelper.Stop("SaveActivity");
        }
Esempio n. 23
0
        /// <summary>
        /// Creates entity instances to be used for the tests.
        /// </summary>
        private void CreateReferenceEntities()
        {
            // Get an activity type to be used in tests
            refHermesActivityType = client.GetActivityType("22222222222222222222222222222222");

            // Get an activity group to be used in tests
            refHermesActivityGroup = client.GetActivityGroup("11111111111111111111111111111111");

            // Get an activity to be used in tests
            refHermesActivity = client.GetActivity("33333333333333333333333333333333");

            // Get an activity to be used in tests
            refHermesScheduleItemStatus = client.GetScheduleItemStatus("44444444444444444444444444444444");

            // Get an activity to be used in tests
            refHermesScheduleItemRequestStatus =
                client.GetScheduleItemRequestStatus("55555555555555555555555555555555");

            // Get an activity to be used in tests
            refHermesScheduleItem = client.GetScheduleItem("66666666666666666666666666666666");
        }
Esempio n. 24
0
        public void BenchmarkGetScheduleItemEditCopy()
        {
            HermesActivityGroup activityGroup = client.CreateActivityGroup("AG1");
            HermesActivityType  activityType  = client.CreateActivityType("AT1", activityGroup);
            HermesActivity      activity      = client.CreateActivity("Test", activityType);

            HermesScheduleItem[] items  = new HermesScheduleItem[StressTestsHelper.Iteration];
            HermesScheduleItem   parent = client.CreateScheduleItem(DateTime.Today, activity);

            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                // Create the item
                items[i] = client.CreateScheduleItemEditCopy(parent);
            }

            StressTestsHelper.Start();
            for (int i = 0; i < StressTestsHelper.Iteration; i++)
            {
                client.GetScheduleItemEditCopy(parent);
            }
            StressTestsHelper.Stop("GetScheduleItemEditCopy");
        }
Esempio n. 25
0
        /// <summary>
        /// <para>Validates the entity for required fields and other validation rules,
        /// using the HermesScheduleItemService to query for data.</para>
        ///
        /// Validates the following rules:
        /// <list type="bullet">
        /// <item>Abbreviation must be non-null, non-empty and must not be more than 20 characters</item>
        /// <item>Name must be non-null, non-empty and must not be more than 50 characters</item>
        /// <item>There must not be existing HermesActivityType which has the same abbreviation as the current
        /// HermesActivityType but a different id.</item>
        /// <item>There must not be existing HermesActivityType which has the same name as the current
        /// HermesActivityType but a different id.</item>
        /// <item>The ActivityGroup property must not be null and must be an existing ActivityGroup
        /// in the database.</item>
        /// </list>
        ///
        /// </summary>
        /// <exception cref="SelfDocumentingException">Wraps any exception that may occur.</exception>
        /// <returns>True if the validation succeeded. False otherwise.</returns>
        public override bool Validate()
        {
            bool abbrPassed = true;
            bool namePassed = true;
            HermesActivityGroup        activityGroup = null;
            IList <HermesActivityType> activityTypes = null;
            HermesActivityType         act           = null;

            try
            {
                //Validate abbreviation
                dataValidationRecords.AddRange(Helper.ValidateAbbreviation(
                                                   item.Abbreviation, item.GetType().FullName, "HermesActivityTypeValidator",
                                                   item.Id, out abbrPassed));

                //Validate name
                dataValidationRecords.AddRange(Helper.ValidateName(
                                                   item.Name, item.GetType().FullName, "HermesActivityTypeValidator", item.Id, out namePassed));

                //Validate ActivityGroup
                if (!Helper.ValidateNotNull(item.ActivityGroup, null, false))
                {
                    dataValidationRecords.Add(Helper.CreateDataValidationRecord(
                                                  item.Id, item.GetType().FullName, "ActivityGroup",
                                                  "HermesActivityTypeValidator.MissingActivityGroup", null));
                }
                else
                {
                    activityGroup = hermesScheduleItemService.GetActivityGroup(item.ActivityGroup.Id);
                    if (!Helper.ValidateNotNull(activityGroup, null, false))
                    {
                        dataValidationRecords.Add(Helper.CreateDataValidationRecord(
                                                      item.Id, item.GetType().FullName, "ActivityGroup",
                                                      "HermesActivityTypeValidator.IllegalActivityGroup",
                                                      new object[] { item.ActivityGroup.Id }));
                    }
                }

                //Get data from service for checking duplicates only if we need to validate further
                if (namePassed || abbrPassed)
                {
                    //Get all HermesActivityGroups:
                    activityTypes = hermesScheduleItemService.GetAllActivityTypes();
                    foreach (HermesActivityType activityType in activityTypes)
                    {
                        //FOR SDE!
                        act = activityType;

                        if (activityType.Abbreviation != null &&
                            activityType.Abbreviation.Equals(item.Abbreviation) &&
                            activityType.Id != item.Id && abbrPassed)
                        {
                            dataValidationRecords.Add(Helper.CreateDataValidationRecord(
                                                          item.Id, item.GetType().FullName, "Abbreviation",
                                                          "HermesActivityTypeValidator.AbbreviationNotUnique",
                                                          new object[] { item.Abbreviation, activityType.Id }));

                            //Dont look for any more duplicate abbreviations
                            abbrPassed = false;
                        }

                        if (activityType.Name != null &&
                            activityType.Name.Equals(item.Name) &&
                            activityType.Id != item.Id && namePassed)
                        {
                            dataValidationRecords.Add(Helper.CreateDataValidationRecord(
                                                          item.Id, item.GetType().FullName, "Name",
                                                          "HermesActivityTypeValidator.NameNotUnique",
                                                          new object[] { item.Name, activityType.Id }));

                            //Dont look for any more duplicate names
                            namePassed = false;
                        }
                    }
                }
                //Nothing failed validation then true, else false
                return(dataValidationRecords.Count == 0);
            }
            catch (Exception e)
            {
                throw Helper.GetSelfDocumentingException(e, "Unable to perform validation.",
                                                         "HermesNS.TC.Services.ScheduleItem.Validators.HermesActivityTypeValidator.Validate",
                                                         new string[] { "hermesScheduleItemService", "item" },
                                                         new object[] { hermesScheduleItemService, item },
                                                         new string[0], new object[0],
                                                         new string[] { "abbrPassed", "namePassed", "activityGroup", "activityTypes", "act" },
                                                         new object[] { abbrPassed, namePassed, activityGroup, activityTypes, act });
            }
        }
Esempio n. 26
0
File: Demo.cs Progetto: kurtrips/tc
        public void Demo()
        {
            HermesScheduleItemPersistenceProvider hsipp = new HermesScheduleItemPersistenceProvider();

            ///////////////////INSERT UPDATE GET DELETE/////////////////////////////
            // Create an activity group
            HermesActivityGroup hag = new HermesActivityGroup();

            hag.Id               = new Guid("1234567890ABCDEF1234567890ABCDEF").ToString();
            hag.Abbreviation     = "HAG1";
            hag.Name             = "HermesActivityGroup1";
            hag.LastModifiedBy   = "hagUser";
            hag.LastModifiedDate = new DateTime(2007, 7, 7);
            //Save it into database
            hsipp.SaveActivityGroup(hag);
            //Get it from database
            HermesActivityGroup getFromDb = hsipp.GetActivityGroup("1234567890ABCDEF1234567890ABCDEF");

            //Delete it from database
            hsipp.DeleteActivityGroup("1234567890ABCDEF1234567890ABCDEF");

            //Create an activity type
            HermesActivityType hat = new HermesActivityType();

            hat.Id               = new Guid("34563456345634563456345634563456").ToString();
            hat.Abbreviation     = "HAT1";
            hat.Name             = "HermesActivityType1";
            hat.LastModifiedBy   = "hatUser";
            hat.LastModifiedDate = new DateTime(2007, 11, 7);
            hat.ActivityGroup    = hsipp.GetActivityGroup("11111111111111111111111111111111");
            //Save it into database
            hsipp.SaveActivityType(hat);
            //Get it from database
            HermesActivityType getFromDb2 = hsipp.GetActivityType("34563456345634563456345634563456");

            //Delete it from database
            hsipp.DeleteActivityType("34563456345634563456345634563456");

            //Create an activity
            HermesActivity activity = new HermesActivity();

            activity.Id                = new Guid("99887766998877669988776699887766").ToString();
            activity.Abbreviation      = "ACT";
            activity.ActivityType      = hsipp.GetActivityType("22222222222222222222222222222222");
            activity.DefaultDuration   = new decimal(33.45);
            activity.DefaultExpireDays = 666;
            activity.DefaultStartTime  = 432;
            activity.Enabled           = true;
            activity.ExclusiveFlag     = true;
            activity.LastModifiedBy    = "ACTuser";
            activity.LastModifiedDate  = new DateTime(2007, 8, 8);
            activity.Name              = "CoolAndReallyNiceActivity";
            activity.WorkDayAmount     = 9966;
            //Save it into database
            hsipp.SaveActivity(activity);
            //Get it from database
            HermesActivity getFromDb3 = hsipp.GetActivity("99887766998877669988776699887766");

            //Delete it from database
            hsipp.DeleteActivity("99887766998877669988776699887766");

            //Create a ScheduleItem and save
            HermesScheduleItem hsiParent = new HermesScheduleItem();

            hsiParent.Id               = new Guid("19081908190819081908190819081908").ToString();
            hsiParent.Activity         = hsipp.GetActivity("33333333333333333333333333333333");
            hsiParent.Duration         = new decimal(546.89);
            hsiParent.ExceptionFlag    = 'Y';
            hsiParent.ExpirationDate   = new DateTime(2005, 12, 23);
            hsiParent.LastModifiedBy   = "ivern";
            hsiParent.LastModifiedDate = new DateTime(2007, 12, 1);
            HermesGenericNote note = new HermesGenericNote();

            note.Id        = new Guid("12340987123409871234098712340987").ToString();
            hsiParent.Note = note;
            hsiParent.ScheduleItemRequestStatus = hsipp.GetScheduleItemRequestStatus("55555555555555555555555555555555");
            hsiParent.ScheduleItemStatus        = hsipp.GetScheduleItemStatus("44444444444444444444444444444444");
            hsiParent.Version       = 1;
            hsiParent.WorkDate      = new DateTime(2004, 12, 12);
            hsiParent.WorkDayAmount = new Decimal(86787.23);
            hsipp.SaveScheduleItem(hsiParent);

            //Create another ScheduleItem and save
            HermesScheduleItem hsiEdit = new HermesScheduleItem();

            hsiEdit.Id               = new Guid("23451987234519872345198723451987").ToString();
            hsiEdit.Activity         = hsipp.GetActivity("33333333333333333333333333333333");
            hsiEdit.Duration         = new decimal(546.89);
            hsiEdit.ExceptionFlag    = 'Y';
            hsiEdit.ExpirationDate   = new DateTime(2005, 12, 23);
            hsiEdit.LastModifiedBy   = "ivern";
            hsiEdit.LastModifiedDate = new DateTime(2007, 12, 1);
            HermesGenericNote note2 = new HermesGenericNote();

            note2.Id     = new Guid("12340987123409871234098712340987").ToString();
            hsiEdit.Note = note2;
            hsiEdit.ScheduleItemRequestStatus = hsipp.GetScheduleItemRequestStatus("55555555555555555555555555555555");
            hsiEdit.ScheduleItemStatus        = hsipp.GetScheduleItemStatus("44444444444444444444444444444444");
            hsiEdit.Version       = 1;
            hsiEdit.WorkDate      = new DateTime(2004, 12, 12);
            hsiEdit.WorkDayAmount = new Decimal(86787.23);
            hsipp.SaveScheduleItem(hsiEdit);

            //....and so on for other properties



            /////////////////GET ALL ENTITIES//////////
            IList <HermesScheduleItemRequestStatus> reqStats = hsipp.GetAllScheduleItemRequestStatuses();
            IList <HermesScheduleItemStatus>        statuses = hsipp.GetAllScheduleItemStatuses();
            IList <HermesActivity> items = hsipp.GetAllActivities(false);

            //....and so on for other properties



            //////////////MANAGE SCHEDULE ITEMS RELATIONS////////////////
            hsipp.CreateScheduleItemPublishEditCopyRelationship(hsiParent, hsiEdit);
            hsipp.GetScheduleItemEditCopy(hsiParent);
            hsipp.GetScheduleItemParentCopy(hsiEdit);
            hsipp.DeleteScheduleItemPublishEditCopyRelationship(hsiEdit);
        }