예제 #1
0
        public void TestTaskInfos()
        {
            TaskInfoCollection taskInfos = mvcConfig.TaskInfos;

            Assert.IsNotNull(taskInfos);
            Assert.AreSame(taskInfos.MVCConfig, mvcConfig);
        }
예제 #2
0
        public void TestIndexer()
        {
            TaskInfoCollection taskInfColl = new TaskInfoCollection();

            taskInfColl.MVCConfig = mvcConfig;

            TaskInfo ti = taskInfColl[typeof(StubTask)];

            Assert.AreSame(StubTaskInfoProvider.returnedObj, ti);
            Assert.AreSame(StubViewInfosProvider.returnedViewInfoColl, ti.ViewInfos);
        }
        public ITaskInfoCollection Parse(string json)
        {
            var t = new TaskInfoCollection {
                Tasks = new List <ITaskInfo>()
            };

            var tasks = ((Dictionary <string, object>)Helper.Instance.JsSerializer.DeserializeObject(json)).Values;

            foreach (Dictionary <string, object> task in tasks)
            {
                t.Tasks.Add(TaskInfoFactory.Instance.Create(task));
            }

            return(t);
        }
예제 #4
0
        public async static Task Run()
        {
            // =========================================================
            // Iron.io Worker
            // =========================================================

            Console.WriteLine("Be sure to create a 'Test' worker before running this sample");
            Console.WriteLine("Press ANY key to continue");
            Console.Read();

            IronWorkerRestClient workerClient = Client.New();

            string taskId = await workerClient.Tasks.Create("Test", new { Key = "Value" });

            Console.WriteLine("TaskID: {0}", taskId);

            TaskInfoCollection taskInfoCollection = await workerClient.Tasks.List("Test");

            foreach (TaskInfo task in taskInfoCollection.Tasks)
            {
                Console.WriteLine(task.Inspect());
            }

            ScheduleOptions options = ScheduleBuilder.Build().
                                      Delay(TimeSpan.FromMinutes(1)).
                                      WithFrequency(TimeSpan.FromHours(1)).
                                      RunFor(TimeSpan.FromHours(3)).
                                      WithPriority(TaskPriority.Default);

            var payload = new
            {
                a = "b",
                c = new[] { 1, 2, 3 }
            };

            ScheduleIdCollection schedule = await workerClient.Schedules.Create("Test", payload, options);

            Console.WriteLine(schedule.Inspect());

            await workerClient.Schedules.Cancel(schedule.Schedules.First().Id);
        }
예제 #5
0
파일: Program.cs 프로젝트: drdk/iron_dotnet
        private static void Main(string[] args)
        {
            LogManager.Adapter = new ConsoleOutLoggerFactoryAdapter();

            // =========================================================
            // Iron.io MQ
            // =========================================================

            //IronMqRestClient ironMq = IronSharp.IronMQ.Client.New();

            // For beta testing
            IronMqRestClient ironMq = IronSharp.IronMQ.Client.New(new IronClientConfig {
                ProjectId = "53a3b3bd5e8edd1245000005", Token = "O7KrMTwmw997iq0KzL7v", Host = "192.168.1.155", ApiVersion = 3, Port = 8080, Scheme = Uri.UriSchemeHttp
            });

            // Simple actions

            // Post message to a queue
            TestPosting(ironMq);

            // Post message to a queue and reserve it
            TestReservation(ironMq);

            // Post message, reserve it and delete
            TestDeletingReservedMessage(ironMq);

            // Actions on queue

            // Update queue info
            TestUpdatingTheQueue(ironMq);

            // Clear all messages of queue
            TestClearingQueue(ironMq);

            // Delete queue and its messages
            TestDeletingQueue(ironMq);

            // Get list of all queus inside project
            TestGettingListQueue(ironMq);

            // Actions on messages

            //TestPosting(ironMq);
            //TestReservation(ironMq);
            //TestDeletingReservedMessage(ironMq);

            // Get message by id without reservation
            TestGettingMessageById(ironMq);

            // Get message without reserving it
            TestPeekingMessage(ironMq);

            // Delete unreserved message
            TestDeletingMessage(ironMq);

            // Touch message to prolongate reservation
            TestTouching(ironMq);

            // Touch message to prolongate reservation
            TestTouchingTwice(ironMq);

            // Release reserved message
            TestReleasing(ironMq);

            // Delete a bunch of messages
            TestDeletingMessages(ironMq);

            // Get subscriber's URL
            TestGettingSubscribersInfo(ironMq);

            // =========================================================
            // Iron.io Worker
            // =========================================================

            Console.WriteLine("Be sure to create a 'Test' worker before running this sample");
            Console.WriteLine("Press ANY key to continue");
            Console.Read();

            IronWorkerRestClient workerClient = IronSharp.IronWorker.Client.New();

            string taskId = workerClient.Tasks.Create("Test", new { Key = "Value" });

            Console.WriteLine("TaskID: {0}", taskId);

            TaskInfoCollection taskInfoCollection = workerClient.Tasks.List("Test");

            foreach (TaskInfo task in taskInfoCollection.Tasks)
            {
                Console.WriteLine(task.Inspect());
            }

            ScheduleOptions options = ScheduleBuilder.Build().
                                      Delay(TimeSpan.FromMinutes(1)).
                                      WithFrequency(TimeSpan.FromHours(1)).
                                      RunFor(TimeSpan.FromHours(3)).
                                      WithPriority(TaskPriority.Default);

            var payload = new
            {
                a = "b",
                c = new[] { 1, 2, 3 }
            };

            ScheduleIdCollection schedule = workerClient.Schedules.Create("Test", payload, options);

            Console.WriteLine(schedule.Inspect());

            workerClient.Schedules.Cancel(schedule.Schedules.First().Id);

            // =========================================================
            // Iron.io Cache
            // =========================================================

            IronCacheRestClient ironCacheClient = IronSharp.IronCache.Client.New();

            // Get a Cache object
            CacheClient cache = ironCacheClient.Cache("my_cache");

            // Put value to cache by key
            cache.Put("number_item", 42);

            // Get value from cache by key
            Console.WriteLine(cache.Get("number_item").Value);

            // Get value from cache by key
            Console.WriteLine(cache.Get <int>("number_item"));

            // Numbers can be incremented
            cache.Increment("number_item", 10);

            // Immediately delete an item
            cache.Delete("number_item");

            cache.Put("complex_item", new { greeting = "Hello", target = "world" });

            // Get value from cache by key
            Console.WriteLine(cache.Get("complex_item").Value);

            cache.Delete("complex_item");

            Console.WriteLine("============= Done ==============");
            Console.Read();
        }
예제 #6
0
 /// <summary>
 /// Parameterless constructor.
 /// </summary>
 #endregion
 public MVCConfiguration()
 {
     TaskInfos           = new TaskInfoCollection();;
     TaskInfos.MVCConfig = this;
 }
예제 #7
0
        private SetupComponentInfo Read12_SetupComponentInfo(bool isNullable, bool checkType)
        {
            XmlQualifiedName xmlQualifiedName = checkType ? base.GetXsiType() : null;
            bool             flag             = false;

            if (isNullable)
            {
                flag = base.ReadNull();
            }
            if (checkType && !(xmlQualifiedName == null) && (xmlQualifiedName.Name != this.id1_SetupComponentInfo || xmlQualifiedName.Namespace != this.id2_Item))
            {
                throw base.CreateUnknownTypeException(xmlQualifiedName);
            }
            if (flag)
            {
                return(null);
            }
            SetupComponentInfo setupComponentInfo = new SetupComponentInfo();

            if (setupComponentInfo.ServerTasks == null)
            {
                setupComponentInfo.ServerTasks = new ServerTaskInfoCollection();
            }
            ServerTaskInfoCollection serverTasks = setupComponentInfo.ServerTasks;

            if (setupComponentInfo.OrgTasks == null)
            {
                setupComponentInfo.OrgTasks = new OrgTaskInfoCollection();
            }
            OrgTaskInfoCollection orgTasks = setupComponentInfo.OrgTasks;

            if (setupComponentInfo.ServicePlanOrgTasks == null)
            {
                setupComponentInfo.ServicePlanOrgTasks = new ServicePlanTaskInfoCollection();
            }
            ServicePlanTaskInfoCollection servicePlanOrgTasks = setupComponentInfo.ServicePlanOrgTasks;
            TaskInfoCollection            tasks = setupComponentInfo.Tasks;

            bool[] array = new bool[12];
            while (base.Reader.MoveToNextAttribute())
            {
                if (!array[0] && base.Reader.LocalName == this.id3_Name && base.Reader.NamespaceURI == this.id2_Item)
                {
                    setupComponentInfo.Name = base.Reader.Value;
                    array[0] = true;
                }
                else if (!array[1] && base.Reader.LocalName == this.id4_AlwaysExecute && base.Reader.NamespaceURI == this.id2_Item)
                {
                    setupComponentInfo.AlwaysExecute = XmlConvert.ToBoolean(base.Reader.Value);
                    array[1] = true;
                }
                else if (!array[2] && base.Reader.LocalName == this.id5_IsDatacenterOnly && base.Reader.NamespaceURI == this.id2_Item)
                {
                    setupComponentInfo.IsDatacenterOnly = XmlConvert.ToBoolean(base.Reader.Value);
                    array[2] = true;
                }
                else if (!array[3] && base.Reader.LocalName == this.id6_DescriptionId && base.Reader.NamespaceURI == this.id2_Item)
                {
                    setupComponentInfo.DescriptionId = base.Reader.Value;
                    array[3] = true;
                }
                else if (!array[4] && base.Reader.LocalName == this.id50_IsPartnerHostedOnly && base.Reader.NamespaceURI == this.id2_Item)
                {
                    setupComponentInfo.IsPartnerHostedOnly = XmlConvert.ToBoolean(base.Reader.Value);
                    array[4] = true;
                }
                else if (!array[5] && base.Reader.LocalName == this.id22_DatacenterMode && base.Reader.NamespaceURI == this.id2_Item)
                {
                    setupComponentInfo.DatacenterMode = this.Read14_DatacenterMode(base.Reader.Value);
                    array[5] = true;
                }
                else if (!array[6] && base.Reader.LocalName == this.id55_IsDatacenterDedicatedOnly && base.Reader.NamespaceURI == this.id2_Item)
                {
                    setupComponentInfo.IsDatacenterDedicatedOnly = XmlConvert.ToBoolean(base.Reader.Value);
                    array[6] = true;
                }
                else if (!base.IsXmlnsAttribute(base.Reader.Name))
                {
                    base.UnknownNode(setupComponentInfo, ":Name, :AlwaysExecute, :IsDatacenterOnly, :DescriptionId, :IsPartnerHostedOnly, :IsDatacenterDedicatedOnly");
                }
            }
            base.Reader.MoveToElement();
            if (base.Reader.IsEmptyElement)
            {
                base.Reader.Skip();
                return(setupComponentInfo);
            }
            base.Reader.ReadStartElement();
            base.Reader.MoveToContent();
            int num         = 0;
            int readerCount = base.ReaderCount;

            while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
            {
                if (base.Reader.NodeType == XmlNodeType.Element)
                {
                    if (base.Reader.LocalName == this.id7_ServerTasks && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        if (!base.ReadNull())
                        {
                            if (setupComponentInfo.ServerTasks == null)
                            {
                                setupComponentInfo.ServerTasks = new ServerTaskInfoCollection();
                            }
                            ServerTaskInfoCollection serverTasks2 = setupComponentInfo.ServerTasks;
                            if (base.Reader.IsEmptyElement)
                            {
                                base.Reader.Skip();
                            }
                            else
                            {
                                base.Reader.ReadStartElement();
                                base.Reader.MoveToContent();
                                int num2         = 0;
                                int readerCount2 = base.ReaderCount;
                                while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
                                {
                                    if (base.Reader.NodeType == XmlNodeType.Element)
                                    {
                                        if (base.Reader.LocalName == this.id8_ServerTaskInfo && base.Reader.NamespaceURI == this.id2_Item)
                                        {
                                            if (serverTasks2 == null)
                                            {
                                                base.Reader.Skip();
                                            }
                                            else
                                            {
                                                serverTasks2.Add(this.Read7_ServerTaskInfo(true, true));
                                            }
                                        }
                                        else
                                        {
                                            base.UnknownNode(null, ":ServerTaskInfo");
                                        }
                                    }
                                    else
                                    {
                                        base.UnknownNode(null, ":ServerTaskInfo");
                                    }
                                    base.Reader.MoveToContent();
                                    base.CheckReaderCount(ref num2, ref readerCount2);
                                }
                                base.ReadEndElement();
                            }
                        }
                    }
                    else if (base.Reader.LocalName == this.id9_OrgTasks && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        if (!base.ReadNull())
                        {
                            if (setupComponentInfo.OrgTasks == null)
                            {
                                setupComponentInfo.OrgTasks = new OrgTaskInfoCollection();
                            }
                            OrgTaskInfoCollection orgTasks2 = setupComponentInfo.OrgTasks;
                            if (base.Reader.IsEmptyElement)
                            {
                                base.Reader.Skip();
                            }
                            else
                            {
                                base.Reader.ReadStartElement();
                                base.Reader.MoveToContent();
                                int num3         = 0;
                                int readerCount3 = base.ReaderCount;
                                while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
                                {
                                    if (base.Reader.NodeType == XmlNodeType.Element)
                                    {
                                        if (base.Reader.LocalName == this.id10_OrgTaskInfo && base.Reader.NamespaceURI == this.id2_Item)
                                        {
                                            if (orgTasks2 == null)
                                            {
                                                base.Reader.Skip();
                                            }
                                            else
                                            {
                                                orgTasks2.Add(this.Read10_OrgTaskInfo(true, true));
                                            }
                                        }
                                        else if (base.Reader.LocalName == this.id12_ServicePlanTaskInfo && base.Reader.NamespaceURI == this.id2_Item)
                                        {
                                            if (orgTasks2 == null)
                                            {
                                                base.Reader.Skip();
                                            }
                                            else
                                            {
                                                orgTasks2.Add(this.Read11_ServicePlanTaskInfo(true, true));
                                            }
                                        }
                                        else
                                        {
                                            base.UnknownNode(null, ":OrgTaskInfo");
                                        }
                                    }
                                    else
                                    {
                                        base.UnknownNode(null, ":OrgTaskInfo");
                                    }
                                    base.Reader.MoveToContent();
                                    base.CheckReaderCount(ref num3, ref readerCount3);
                                }
                                base.ReadEndElement();
                            }
                        }
                    }
                    else if (base.Reader.LocalName == this.id11_ServicePlanOrgTasks && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        if (!base.ReadNull())
                        {
                            if (setupComponentInfo.ServicePlanOrgTasks == null)
                            {
                                setupComponentInfo.ServicePlanOrgTasks = new ServicePlanTaskInfoCollection();
                            }
                            ServicePlanTaskInfoCollection servicePlanOrgTasks2 = setupComponentInfo.ServicePlanOrgTasks;
                            if (base.Reader.IsEmptyElement)
                            {
                                base.Reader.Skip();
                            }
                            else
                            {
                                base.Reader.ReadStartElement();
                                base.Reader.MoveToContent();
                                int num4         = 0;
                                int readerCount4 = base.ReaderCount;
                                while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
                                {
                                    if (base.Reader.NodeType == XmlNodeType.Element)
                                    {
                                        if (base.Reader.LocalName == this.id12_ServicePlanTaskInfo && base.Reader.NamespaceURI == this.id2_Item)
                                        {
                                            if (servicePlanOrgTasks2 == null)
                                            {
                                                base.Reader.Skip();
                                            }
                                            else
                                            {
                                                servicePlanOrgTasks2.Add(this.Read11_ServicePlanTaskInfo(true, true));
                                            }
                                        }
                                        else
                                        {
                                            base.UnknownNode(null, ":ServicePlanTaskInfo");
                                        }
                                    }
                                    else
                                    {
                                        base.UnknownNode(null, ":ServicePlanTaskInfo");
                                    }
                                    base.Reader.MoveToContent();
                                    base.CheckReaderCount(ref num4, ref readerCount4);
                                }
                                base.ReadEndElement();
                            }
                        }
                    }
                    else if (base.Reader.LocalName == this.id13_Tasks && base.Reader.NamespaceURI == this.id2_Item)
                    {
                        if (!base.ReadNull())
                        {
                            TaskInfoCollection tasks2 = setupComponentInfo.Tasks;
                            if (tasks2 == null || base.Reader.IsEmptyElement)
                            {
                                base.Reader.Skip();
                            }
                            else
                            {
                                base.Reader.ReadStartElement();
                                base.Reader.MoveToContent();
                                int num5         = 0;
                                int readerCount5 = base.ReaderCount;
                                while (base.Reader.NodeType != XmlNodeType.EndElement && base.Reader.NodeType != XmlNodeType.None)
                                {
                                    if (base.Reader.NodeType == XmlNodeType.Element)
                                    {
                                        if (base.Reader.LocalName == this.id14_TaskInfo && base.Reader.NamespaceURI == this.id2_Item)
                                        {
                                            if (tasks2 == null)
                                            {
                                                base.Reader.Skip();
                                            }
                                            else
                                            {
                                                tasks2.Add(this.Read2_TaskInfo(true, true));
                                            }
                                        }
                                        else
                                        {
                                            base.UnknownNode(null, ":TaskInfo");
                                        }
                                    }
                                    else
                                    {
                                        base.UnknownNode(null, ":TaskInfo");
                                    }
                                    base.Reader.MoveToContent();
                                    base.CheckReaderCount(ref num5, ref readerCount5);
                                }
                                base.ReadEndElement();
                            }
                        }
                    }
                    else
                    {
                        base.UnknownNode(setupComponentInfo, ":ServerTasks, :OrgTasks, :ServicePlanOrgTasks, :Tasks");
                    }
                }
                else
                {
                    base.UnknownNode(setupComponentInfo, ":ServerTasks, :OrgTasks, :ServicePlanOrgTasks, :Tasks");
                }
                base.Reader.MoveToContent();
                base.CheckReaderCount(ref num, ref readerCount);
            }
            base.ReadEndElement();
            return(setupComponentInfo);
        }
예제 #8
0
        private static void Main(string[] args)
        {
            LogManager.Adapter = new ConsoleOutLoggerFactoryAdapter();
            IronMqRestClient ironMq = IronSharp.IronMQ.Client.New(new IronClientConfig {
                ProjectId = "5bf768af967e0f000910fed3", Token = "y7TU7c3D3IUXtwrcJJFH", Host = "mq-aws-eu-west-1-1.iron.io", ApiVersion = 3, Scheme = Uri.UriSchemeHttp
            });

            QueueClient queueHabitacion  = ironMq.Queue("Habitacion");
            var         codigoHabitacion = "HBT0000007";
            string      messageId1       = queueHabitacion.Post(codigoHabitacion);

            Console.WriteLine("Mensaje enviado: {0}", codigoHabitacion);

            QueueClient queueHotel  = ironMq.Queue("Hotel");
            var         codigoHotel = "HT00000002";
            string      messageId2  = queueHotel.Post(codigoHotel);

            Console.WriteLine("Mensaje enviado: {0}", codigoHabitacion);

            //QueueMessage messageHabitacion = queueHabitacion.Reserve();
            //Console.WriteLine("Respuesta: " + messageHabitacion.Body);

            //QueueMessage messageHotel = queueHotel.Reserve();
            //Console.WriteLine("Respuesta: " + messageHotel.Body);
            //Console.WriteLine(message.ReservationId);


            //bool finished = false;
            //var hotelIds = new List<string>();
            //while (!finished)
            //{
            //    messageHotel = queueHotel.Reserve();
            //    if (messageHotel != null)
            //        hotelIds.Add(messageHotel.Body);
            //    else
            //        finished = true;
            //}



            LogManager.Adapter = new ConsoleOutLoggerFactoryAdapter();

            // =========================================================
            // Iron.io MQ
            // =========================================================

            //IronMqRestClient ironMq = IronSharp.IronMQ.Client.New();

            // For beta testing
            //IronMqRestClient ironMq = IronSharp.IronMQ.Client.New(new IronClientConfig { ProjectId = "53a3b3bd5e8edd1245000005", Token = "O7KrMTwmw997iq0KzL7v", Host = "192.168.1.155", ApiVersion = 3, Port = 8080, Scheme = Uri.UriSchemeHttp });

            // Simple actions

            // Post message to a queue
            TestPosting(ironMq);

            // Post message to a queue and reserve it
            TestReservation(ironMq);

            // Post message, reserve it and delete
            TestDeletingReservedMessage(ironMq);

            // Actions on queue

            // Update queue info
            TestUpdatingTheQueue(ironMq);

            // Clear all messages of queue
            TestClearingQueue(ironMq);

            // Delete queue and its messages
            TestDeletingQueue(ironMq);

            // Get list of all queus inside project
            TestGettingListQueue(ironMq);

            // Actions on messages

            //TestPosting(ironMq);
            //TestReservation(ironMq);
            //TestDeletingReservedMessage(ironMq);

            // Get message by id without reservation
            TestGettingMessageById(ironMq);

            // Get message without reserving it
            TestPeekingMessage(ironMq);

            // Delete unreserved message
            TestDeletingMessage(ironMq);

            // Touch message to prolongate reservation
            TestTouching(ironMq);

            // Touch message to prolongate reservation
            TestTouchingTwice(ironMq);

            // Release reserved message
            TestReleasing(ironMq);

            // Delete a bunch of messages
            TestDeletingMessages(ironMq);

            // Get subscriber's URL
            TestGettingSubscribersInfo(ironMq);

            // =========================================================
            // Iron.io Worker
            // =========================================================

            Console.WriteLine("Be sure to create a 'Test' worker before running this sample");
            Console.WriteLine("Press ANY key to continue");
            Console.Read();

            IronWorkerRestClient workerClient = IronSharp.IronWorker.Client.New();

            string taskId = workerClient.Tasks.Create("Test", new { Key = "Value" });

            Console.WriteLine("TaskID: {0}", taskId);

            TaskInfoCollection taskInfoCollection = workerClient.Tasks.List("Test");

            foreach (TaskInfo task in taskInfoCollection.Tasks)
            {
                Console.WriteLine(task.Inspect());
            }

            ScheduleOptions options = ScheduleBuilder.Build().
                                      Delay(TimeSpan.FromMinutes(1)).
                                      WithFrequency(TimeSpan.FromHours(1)).
                                      RunFor(TimeSpan.FromHours(3)).
                                      WithPriority(TaskPriority.Default);

            var payload = new
            {
                a = "b",
                c = new[] { 1, 2, 3 }
            };

            ScheduleIdCollection schedule = workerClient.Schedules.Create("Test", payload, options);

            Console.WriteLine(schedule.Inspect());

            workerClient.Schedules.Cancel(schedule.Schedules.First().Id);

            // =========================================================
            // Iron.io Cache
            // =========================================================

            IronCacheRestClient ironCacheClient = IronSharp.IronCache.Client.New();

            // Get a Cache object
            CacheClient cache = ironCacheClient.Cache("my_cache");

            // Put value to cache by key
            cache.Put("number_item", 42);

            // Get value from cache by key
            Console.WriteLine(cache.Get("number_item").Value);

            // Get value from cache by key
            Console.WriteLine(cache.Get <int>("number_item"));

            // Numbers can be incremented
            cache.Increment("number_item", 10);

            // Immediately delete an item
            cache.Delete("number_item");

            cache.Put("complex_item", new { greeting = "Hello", target = "world" });

            // Get value from cache by key
            Console.WriteLine(cache.Get("complex_item").Value);

            cache.Delete("complex_item");

            Console.WriteLine("============= Done ==============");
            Console.Read();
        }
        private void Write12_SetupComponentInfo(string n, string ns, SetupComponentInfo o, bool isNullable, bool needType)
        {
            if (o == null)
            {
                if (isNullable)
                {
                    base.WriteNullTagLiteral(n, ns);
                }
                return;
            }
            if (!needType)
            {
                Type type = o.GetType();
                if (!(type == typeof(SetupComponentInfo)))
                {
                    throw base.CreateUnknownTypeException(o);
                }
            }
            base.WriteStartElement(n, ns, o, false, null);
            if (needType)
            {
                base.WriteXsiType("SetupComponentInfo", "");
            }
            base.WriteAttribute("Name", "", o.Name);
            base.WriteAttribute("AlwaysExecute", "", XmlConvert.ToString(o.AlwaysExecute));
            base.WriteAttribute("IsDatacenterOnly", "", XmlConvert.ToString(o.IsDatacenterOnly));
            base.WriteAttribute("IsDatacenterDedicatedOnly", "", XmlConvert.ToString(o.IsDatacenterDedicatedOnly));
            base.WriteAttribute("IsPartnerHostedOnly", "", XmlConvert.ToString(o.IsPartnerHostedOnly));
            if (o.DatacenterMode != DatacenterMode.Common)
            {
                base.WriteAttribute("DatacenterMode", "", this.Write14_DatacenterMode(o.DatacenterMode));
            }
            base.WriteAttribute("DescriptionId", "", o.DescriptionId);
            ServerTaskInfoCollection serverTasks = o.ServerTasks;

            if (serverTasks != null)
            {
                base.WriteStartElement("ServerTasks", "", null, false);
                for (int i = 0; i < ((ICollection)serverTasks).Count; i++)
                {
                    this.Write7_ServerTaskInfo("ServerTaskInfo", "", serverTasks[i], true, false);
                }
                base.WriteEndElement();
            }
            OrgTaskInfoCollection orgTasks = o.OrgTasks;

            if (orgTasks != null)
            {
                base.WriteStartElement("OrgTasks", "", null, false);
                for (int j = 0; j < ((ICollection)orgTasks).Count; j++)
                {
                    this.Write10_OrgTaskInfo("OrgTaskInfo", "", orgTasks[j], true, false);
                }
                base.WriteEndElement();
            }
            ServicePlanTaskInfoCollection servicePlanOrgTasks = o.ServicePlanOrgTasks;

            if (servicePlanOrgTasks != null)
            {
                base.WriteStartElement("ServicePlanOrgTasks", "", null, false);
                for (int k = 0; k < ((ICollection)servicePlanOrgTasks).Count; k++)
                {
                    this.Write11_ServicePlanTaskInfo("ServicePlanTaskInfo", "", servicePlanOrgTasks[k], true, false);
                }
                base.WriteEndElement();
            }
            TaskInfoCollection tasks = o.Tasks;

            if (tasks != null)
            {
                base.WriteStartElement("Tasks", "", null, false);
                for (int l = 0; l < ((ICollection)tasks).Count; l++)
                {
                    this.Write2_TaskInfo("TaskInfo", "", tasks[l], true, false);
                }
                base.WriteEndElement();
            }
            base.WriteEndElement(o);
        }