public static void Run()
        {
            // ExStart:WriteUpdatedCalendarDataToMPP
            string resultFile = "result_WriteUpdatedCalendarDataToMPP_out.mpp";
            string newFile = "project_update_test.mpp";
            string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);

            try
            {
                // Create project instance and access calendar
                Project project = new Project(dataDir + newFile);
                Calendar cal = project.Calendars.GetByUid(3);

                // Update the calendar information
                Calendar.MakeStandardCalendar(cal);
                cal.Name = "Test calendar";
                CalendarException exc = new CalendarException();
                exc.FromDate = DateTime.Now;
                exc.ToDate = DateTime.Now.AddDays(2);
                exc.DayWorking = true;

                WorkingTime wt1 = new WorkingTime();
                wt1.FromTime = new DateTime(10, 1, 1, 9, 0, 0);
                wt1.ToTime = new DateTime(10, 1, 1, 13, 0, 0);

                WorkingTime wt2 = new WorkingTime();
                wt2.FromTime = new DateTime(10, 1, 1, 14, 0, 0);
                wt2.ToTime = new DateTime(10, 1, 1, 19, 0, 0);

                WorkingTime wt3 = new WorkingTime();
                wt3.FromTime = new DateTime(10, 1, 1, 20, 0, 0);
                wt3.ToTime = new DateTime(10, 1, 1, 21, 0, 0);

                exc.WorkingTimes.Add(wt1);
                exc.WorkingTimes.Add(wt2);
                exc.WorkingTimes.Add(wt3);
                cal.Exceptions.Add(exc);

                CalendarException exc2 = new CalendarException();
                exc2.FromDate = DateTime.Now.AddDays(7);
                exc2.ToDate = exc2.FromDate;
                exc2.DayWorking = false;
                cal.Exceptions.Add(exc2);

                project.Set(Prj.Calendar, cal);

                // Save project
                project.Save(dataDir + resultFile, SaveFileFormat.MPP);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http:// Www.aspose.com/purchase/default.aspx.");
            }            
            // ExEnd:WriteUpdatedCalendarDataToMPP
        }
        public static void Run()
        {
            // ExStart:DefineWeekdaysForCalendar
            // This example shows how Aspose.Tasks API can be used to define a new Calendar, add week days to it and define working times for days
            // Create a project instance
            Project project = new Project();

            // Define Calendar
            Aspose.Tasks.Calendar cal = project.Calendars.Add("Calendar1");

            // Add working days monday through thursday with default timings
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Monday));
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Tuesday));
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Wednesday));
            cal.WeekDays.Add(WeekDay.CreateDefaultWorkingDay(DayType.Thursday));
            cal.WeekDays.Add(new WeekDay(DayType.Saturday));
            cal.WeekDays.Add(new WeekDay(DayType.Sunday));

            // Set friday as short working day
            WeekDay myWeekDay = new WeekDay(DayType.Friday);

            // Sets working time. Only time part of DateTime is important
            WorkingTime wt1 = new WorkingTime();
            wt1.FromTime = new DateTime(1, 1, 1, 9, 0, 0, 0);
            wt1.ToTime = new DateTime(1, 1, 1, 12, 0, 0, 0);
            WorkingTime wt2 = new WorkingTime();
            wt2.FromTime = new DateTime(1, 1, 1, 13, 0, 0, 0);
            wt2.ToTime = new DateTime(1, 1, 1, 16, 0, 0, 0);
            myWeekDay.WorkingTimes.Add(wt1);
            myWeekDay.WorkingTimes.Add(wt2);
            myWeekDay.DayWorking = true;
            cal.WeekDays.Add(myWeekDay);

            // Save the Project
            string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);
            project.Save("Project_DefineCalendarWeekdays_out.xml", Aspose.Tasks.Saving.SaveFileFormat.XML);
            // ExEnd:DefineWeekdaysForCalendar
        }
        public static void Run()
        {
            try
            {
                // ExStart:WriteMetadataToMPP
                string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName);
                Project project = new Project(dataDir + "Project1.mpp");

                // Add working times to project calendar
                WorkingTime wt = new WorkingTime();
                wt.FromTime = new DateTime(2010, 1, 1, 19, 0, 0);
                wt.ToTime = new DateTime(2010, 1, 1, 20, 0, 0);
                WeekDay day = project.Get(Prj.Calendar).WeekDays.ToList()[1];
                day.WorkingTimes.Add(wt);

                // Change calendar name
                project.Get(Prj.Calendar).Name = "CHANGED NAME!";

                // Add tasks and set task meta data
                Task task = project.RootTask.Children.Add("Task 1");
                task.Set(Tsk.DurationFormat, TimeUnitType.Day);
                task.Set(Tsk.Duration, project.GetDuration(3));
                task.Set(Tsk.Contact, "Rsc 1");
                task.Set(Tsk.IsMarked, true);
                task.Set(Tsk.IgnoreWarnings, true);
                Task task2 = project.RootTask.Children.Add("Task 2");
                task2.Set(Tsk.DurationFormat, TimeUnitType.Day);
                task2.Set(Tsk.Contact, "Rsc 2");

                // Link tasks
                project.TaskLinks.Add(task, task2, TaskLinkType.FinishToStart, project.GetDuration(-1, TimeUnitType.Day));

                // Set project start date
                project.Set(Prj.StartDate, new DateTime(2013, 8, 13, 9, 0, 0));

                // Add resource and set resource meta data
                Resource rsc1 = project.Resources.Add("Rsc 1");
                rsc1.Set(Rsc.Type, ResourceType.Work);
                rsc1.Set(Rsc.Initials, "WR");
                rsc1.Set(Rsc.AccrueAt, CostAccrualType.Prorated);
                rsc1.Set(Rsc.MaxUnits, 1);
                rsc1.Set(Rsc.Code, "Code 1");
                rsc1.Set(Rsc.Group, "Workers");
                rsc1.Set(Rsc.EMailAddress, "*****@*****.**");
                rsc1.Set(Rsc.WindowsUserAccount, "user_acc1");
                rsc1.Set(Rsc.IsGeneric, new NullableBool(true));
                rsc1.Set(Rsc.AccrueAt, CostAccrualType.End);
                rsc1.Set(Rsc.StandardRate, 10);
                rsc1.Set(Rsc.StandardRateFormat, RateFormatType.Day);
                rsc1.Set(Rsc.OvertimeRate, 15);
                rsc1.Set(Rsc.OvertimeRateFormat, RateFormatType.Hour);

                rsc1.Set(Rsc.IsTeamAssignmentPool, true);
                rsc1.Set(Rsc.CostCenter, "Cost Center 1");

                // Create resource assignment and set resource assignment meta data
                ResourceAssignment assn = project.ResourceAssignments.Add(task, rsc1);
                assn.Set(Asn.Uid, 1);
                assn.Set(Asn.Work, task.Get(Tsk.Duration));
                assn.Set(Asn.RemainingWork, assn.Get(Asn.Work));
                assn.Set(Asn.RegularWork, assn.Get(Asn.Work));
                task.Set(Tsk.Work, assn.Get(Asn.Work));

                rsc1.Set(Rsc.Work, task.Get(Tsk.Work));
                assn.Set(Asn.Start, task.Get(Tsk.Start));
                assn.Set(Asn.Finish, task.Get(Tsk.Finish));

                // Add extended attribute for project and task
                ExtendedAttributeDefinition attr = new ExtendedAttributeDefinition();
                attr.FieldId = ((int)ExtendedAttributeTask.Flag1).ToString();
                attr.Alias = "Labeled";
                project.ExtendedAttributes.Add(attr);
                ExtendedAttribute taskAttr = new ExtendedAttribute();
                taskAttr.Value = "1";
                taskAttr.FieldId = attr.FieldId;
                task2.ExtendedAttributes.Add(taskAttr);

                // Save project as MPP
                project.Save(dataDir + "WriteMetaData_out.mpp", SaveFileFormat.MPP);
                // ExEnd:WriteMetadataToMPP
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "\nThis example will only work if you apply a valid Aspose License. You can purchase full license or get 30 day temporary license from http://www.aspose.com/purchase/default.aspx.");
            }
        }
Ejemplo n.º 4
0
		static ExchangeBoard()
		{
			// NOTE
			// описание ММВБ площадок взято из документа http://fs.rts.micex.ru/files/707

			Associated = new ExchangeBoard
			{
				Code = "ALL",
				Exchange = Exchange.Test,
			};

			Test = new ExchangeBoard
			{
				Code = "TEST",
				Exchange = Exchange.Test,
			};

			Finam = new ExchangeBoard
			{
				Code = "FINAM",
				Exchange = Exchange.Test,
			};

			Mfd = new ExchangeBoard
			{
				Code = "MFD",
				Exchange = Exchange.Test,
			};

			// http://stocksharp.com/forum/yaf_postst667_Rabochiie-dni-dlia-birzh--2011-ghod.aspx
			// http://stocksharp.com/forum/yaf_postst1689_Exchange-WorkingTime-2012.aspx
			var russianSpecialWorkingDays = new[]
			{
				// http://www.rts.ru/a742
				new DateTime(2001, 3, 11),
				new DateTime(2001, 4, 28),
				new DateTime(2001, 6, 9),
				new DateTime(2001, 12, 29),

				// http://www.rts.ru/a3414
				new DateTime(2002, 4, 27),
				new DateTime(2002, 5, 18),
				new DateTime(2002, 11, 10),

				// http://www.rts.ru/a5194
				new DateTime(2003, 1, 4),
				new DateTime(2003, 1, 5),
				new DateTime(2003, 6, 21),

				// http://www.rts.ru/a6598
				// дат нет

				// http://www.rts.ru/a7751
				new DateTime(2005, 3, 5),
				new DateTime(2005, 5, 14),

				// http://www.rts.ru/a743
				new DateTime(2006, 2, 26),
				new DateTime(2006, 5, 6),

				// http://www.rts.ru/a13059
				new DateTime(2007, 4, 28),
				new DateTime(2007, 6, 9),

				// http://www.rts.ru/a15065
				new DateTime(2008, 5, 4),
				new DateTime(2008, 6, 7),
				new DateTime(2008, 11, 1),

				// http://www.rts.ru/a17902
				new DateTime(2009, 1, 11),

				// http://www.rts.ru/a19524
				new DateTime(2010, 2, 27),
				new DateTime(2010, 11, 13),

				// http://www.rts.ru/s355
				new DateTime(2011, 3, 5),
				
				// http://rts.micex.ru/a254
				new DateTime(2012, 3, 11),
				new DateTime(2012, 4, 28),
				new DateTime(2012, 5, 5),
				new DateTime(2012, 5, 12),
				new DateTime(2012, 6, 9),
				new DateTime(2012, 12, 29)
			};

			var russianSpecialHolidays = new[]
			{
				// http://www.rts.ru/a742
				new DateTime(2001, 1, 1),
				new DateTime(2001, 1, 2),
				new DateTime(2001, 1, 8),
				new DateTime(2001, 3, 8),
				new DateTime(2001, 3, 9),
				new DateTime(2001, 4, 30),
				new DateTime(2001, 5, 1),
				new DateTime(2001, 5, 2),
				new DateTime(2001, 5, 9),
				new DateTime(2001, 6, 11),
				new DateTime(2001, 6, 12),
				new DateTime(2001, 11, 7),
				new DateTime(2001, 12, 12),
				new DateTime(2001, 12, 31),

				// http://www.rts.ru/a3414
				new DateTime(2002, 1, 1),
				new DateTime(2002, 1, 2),
				new DateTime(2002, 1, 7),
				new DateTime(2002, 2, 25),
				new DateTime(2002, 3, 8),
				new DateTime(2002, 3, 9),
				new DateTime(2002, 5, 1),
				new DateTime(2002, 5, 2),
				new DateTime(2002, 5, 3),
				new DateTime(2002, 5, 9),
				new DateTime(2002, 5, 10),
				new DateTime(2002, 6, 12),
				new DateTime(2002, 11, 7),
				new DateTime(2002, 11, 8),
				new DateTime(2002, 12, 12),
				new DateTime(2002, 12, 13),

				// http://www.rts.ru/a5194
				new DateTime(2003, 1, 1),
				new DateTime(2003, 1, 2),
				new DateTime(2003, 1, 3),
				new DateTime(2003, 1, 6),
				new DateTime(2003, 1, 7),
				new DateTime(2003, 2, 24),
				new DateTime(2003, 3, 10),
				new DateTime(2003, 5, 1),
				new DateTime(2003, 5, 2),
				new DateTime(2003, 5, 9),
				new DateTime(2003, 6, 12),
				new DateTime(2003, 6, 13),
				new DateTime(2003, 11, 7),
				new DateTime(2003, 12, 12),

				// http://www.rts.ru/a6598
				new DateTime(2004, 1, 1),
				new DateTime(2004, 1, 2),
				new DateTime(2004, 1, 7),
				new DateTime(2004, 2, 23),
				new DateTime(2004, 3, 8),
				new DateTime(2004, 5, 3),
				new DateTime(2004, 5, 4),
				new DateTime(2004, 5, 10),
				new DateTime(2004, 6, 14),
				new DateTime(2004, 11, 8),
				new DateTime(2004, 12, 13),

				// http://www.rts.ru/a7751
				new DateTime(2005, 1, 3),
				new DateTime(2005, 1, 4),
				new DateTime(2005, 1, 5),
				new DateTime(2005, 1, 6),
				new DateTime(2005, 1, 7),
				new DateTime(2005, 1, 10),
				new DateTime(2005, 2, 23),
				new DateTime(2005, 3, 7),
				new DateTime(2005, 3, 8),
				new DateTime(2005, 5, 2),
				new DateTime(2005, 5, 9),
				new DateTime(2005, 5, 10),
				new DateTime(2005, 6, 13),
				new DateTime(2005, 11, 4),

				// http://www.rts.ru/a743
				new DateTime(2006, 1, 2),
				new DateTime(2006, 1, 3),
				new DateTime(2006, 1, 4),
				new DateTime(2006, 1, 5),
				new DateTime(2006, 1, 6),
				new DateTime(2006, 1, 9),
				new DateTime(2006, 2, 23),
				new DateTime(2006, 2, 24),
				new DateTime(2006, 3, 8),
				new DateTime(2006, 5, 1),
				new DateTime(2006, 5, 8),
				new DateTime(2006, 5, 9),
				new DateTime(2006, 6, 12),
				new DateTime(2006, 11, 6),

				// http://www.rts.ru/a13059
				new DateTime(2007, 1, 1),
				new DateTime(2007, 1, 2),
				new DateTime(2007, 1, 3),
				new DateTime(2007, 1, 4),
				new DateTime(2007, 1, 5),
				new DateTime(2007, 1, 8),
				new DateTime(2007, 2, 23),
				new DateTime(2007, 3, 8),
				new DateTime(2007, 4, 30),
				new DateTime(2007, 5, 1),
				new DateTime(2007, 5, 9),
				new DateTime(2007, 6, 11),
				new DateTime(2007, 6, 12),
				new DateTime(2007, 11, 5),
				new DateTime(2007, 12, 31),

				// http://www.rts.ru/a15065
				new DateTime(2008, 1, 1),
				new DateTime(2008, 1, 2),
				new DateTime(2008, 1, 3),
				new DateTime(2008, 1, 4),
				new DateTime(2008, 1, 7),
				new DateTime(2008, 1, 8),
				new DateTime(2008, 2, 25),
				new DateTime(2008, 3, 10),
				new DateTime(2008, 5, 1),
				new DateTime(2008, 5, 2),
				new DateTime(2008, 6, 12),
				new DateTime(2008, 6, 13),
				new DateTime(2008, 11, 3),
				new DateTime(2008, 11, 4),

				// http://www.rts.ru/a17902
				new DateTime(2009, 1, 1),
				new DateTime(2009, 1, 2),
				new DateTime(2009, 1, 5),
				new DateTime(2009, 1, 6),
				new DateTime(2009, 1, 7),
				new DateTime(2009, 1, 8),
				new DateTime(2009, 1, 9),
				new DateTime(2009, 2, 23),
				new DateTime(2009, 3, 9),
				new DateTime(2009, 5, 1),
				new DateTime(2009, 5, 11),
				new DateTime(2009, 6, 12),
				new DateTime(2009, 11, 4),

				// http://www.rts.ru/a19524
				new DateTime(2010, 1, 1),
				new DateTime(2010, 1, 4),
				new DateTime(2010, 1, 5),
				new DateTime(2010, 1, 6),
				new DateTime(2010, 1, 7),
				new DateTime(2010, 1, 8),
				new DateTime(2010, 2, 22),
				new DateTime(2010, 2, 23),
				new DateTime(2010, 3, 8),
				new DateTime(2010, 5, 3),
				new DateTime(2010, 5, 10),
				new DateTime(2010, 6, 14),
				new DateTime(2010, 11, 4),
				new DateTime(2010, 11, 5),

				// http://www.rts.ru/s355
				new DateTime(2011, 1, 3),
				new DateTime(2011, 1, 4),
				new DateTime(2011, 1, 5),
				new DateTime(2011, 1, 6),
				new DateTime(2011, 1, 7),
				new DateTime(2011, 1, 10),
				new DateTime(2011, 2, 23),
				new DateTime(2011, 3, 7),
				new DateTime(2011, 3, 8),
				new DateTime(2011, 5, 2),
				new DateTime(2011, 5, 9),
				new DateTime(2011, 6, 13),
				new DateTime(2011, 11, 4),

				// http://rts.micex.ru/a254
				new DateTime(2012, 1, 2),
				new DateTime(2012, 2, 23),
				new DateTime(2012, 3, 8),
				new DateTime(2012, 3, 9),
				new DateTime(2012, 4, 30),
				new DateTime(2012, 5, 1),
				new DateTime(2012, 5, 9),
				new DateTime(2012, 6, 11),
				new DateTime(2012, 6, 12),
				new DateTime(2012, 11, 5),
				new DateTime(2012, 12, 31),

				// http://rts.micex.ru/s690
				new DateTime(2013, 1, 1),
				new DateTime(2013, 1, 2),
				new DateTime(2013, 1, 3),
				new DateTime(2013, 1, 4),
				new DateTime(2013, 1, 7),
				new DateTime(2013, 3, 8),
				new DateTime(2013, 5, 1),
				new DateTime(2013, 5, 9),
				new DateTime(2013, 5, 10),
				new DateTime(2013, 6, 12)
			};

			var moscowTime = TimeZoneInfo.FromSerializedString("Russian Standard Time;180;(UTC+03:00) Moscow, St. Petersburg, Volgograd (RTZ 2);Russia TZ 2 Standard Time;Russia TZ 2 Daylight Time;[01:01:0001;12:31:2010;60;[0;02:00:00;3;5;0;];[0;03:00:00;10;5;0;];][01:01:2011;12:31:2011;60;[0;02:00:00;3;5;0;];[0;00:00:00;1;1;6;];][01:01:2014;12:31:2014;60;[0;00:00:00;1;1;3;];[0;02:00:00;10;5;0;];];");

			//russianSpecialHolidays =
			//	russianSpecialHolidays
			//		.Concat(GetDefaultRussianHolidays(new DateTime(2001, 01, 01), new DateTime(2010, 01, 01)))
			//		.ToArray();

			Forts = new ExchangeBoard
			{
				Code = "FORTS",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("10:00:00".To<TimeSpan>(), "14:00:00".To<TimeSpan>()),
								new Range<TimeSpan>("14:03:00".To<TimeSpan>(), "18:45:00".To<TimeSpan>()),
								new Range<TimeSpan>("19:00:00".To<TimeSpan>(), "23:50:00".To<TimeSpan>())
							},
						}
					},
					SpecialWorkingDays = ArrayHelper.Clone(russianSpecialWorkingDays),
					SpecialHolidays = ArrayHelper.Clone(russianSpecialHolidays),
				},
				ExpiryTime = new TimeSpan(18, 45, 00),
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			var micexWorkingTime = new WorkingTime
			{
				Periods = new[]
				{
					new WorkingTimePeriod
					{
						Till = DateTime.MaxValue,
						Times = new[]
						{
							new Range<TimeSpan>("10:00:00".To<TimeSpan>(), "18:45:00".To<TimeSpan>())
						},
					}
				},
				SpecialWorkingDays = ArrayHelper.Clone(russianSpecialWorkingDays),
				SpecialHolidays = ArrayHelper.Clone(russianSpecialHolidays),
			};

			Micex = new ExchangeBoard
			{
				Code = "MICEX",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexAuct = new ExchangeBoard
			{
				Code = "AUCT",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexAubb = new ExchangeBoard
			{
				Code = "AUBB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexCasf = new ExchangeBoard
			{
				Code = "CASF",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqbr = new ExchangeBoard
			{
				Code = "EQBR",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqbs = new ExchangeBoard
			{
				Code = "EQBS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqdp = new ExchangeBoard
			{
				Code = "EQDP",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqeu = new ExchangeBoard
			{
				Code = "EQEU",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqus = new ExchangeBoard
			{
				Code = "EQUS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqnb = new ExchangeBoard
			{
				Code = "EQNB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqne = new ExchangeBoard
			{
				Code = "EQNE",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqnl = new ExchangeBoard
			{
				Code = "EQNL",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqno = new ExchangeBoard
			{
				Code = "EQNO",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqob = new ExchangeBoard
			{
				Code = "EQOB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqos = new ExchangeBoard
			{
				Code = "EQOS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqov = new ExchangeBoard
			{
				Code = "EQOV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqlv = new ExchangeBoard
			{
				Code = "EQLV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqdb = new ExchangeBoard
			{
				Code = "EQDB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqde = new ExchangeBoard
			{
				Code = "EQDE",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqli = new ExchangeBoard
			{
				Code = "EQLI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqqi = new ExchangeBoard
			{
				Code = "EQQI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexSmal = new ExchangeBoard
			{
				Code = "SMAL",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexSpob = new ExchangeBoard
			{
				Code = "SPOB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqbr = new ExchangeBoard
			{
				Code = "TQBR",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqde = new ExchangeBoard
			{
				Code = "TQDE",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqbs = new ExchangeBoard
			{
				Code = "TQBS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqeu = new ExchangeBoard
			{
				Code = "TQEU",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqus = new ExchangeBoard
			{
				Code = "TQUS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqnb = new ExchangeBoard
			{
				Code = "TQNB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqne = new ExchangeBoard
			{
				Code = "TQNE",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqnl = new ExchangeBoard
			{
				Code = "TQNL",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqno = new ExchangeBoard
			{
				Code = "TQNO",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqob = new ExchangeBoard
			{
				Code = "TQOB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqos = new ExchangeBoard
			{
				Code = "TQOS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqov = new ExchangeBoard
			{
				Code = "TQOV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqlv = new ExchangeBoard
			{
				Code = "TQLV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqli = new ExchangeBoard
			{
				Code = "TQLI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTqqi = new ExchangeBoard
			{
				Code = "TQQI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexEqrp = new ExchangeBoard
			{
				Code = "EQRP",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsrp = new ExchangeBoard
			{
				Code = "PSRP",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRfnd = new ExchangeBoard
			{
				Code = "RFND",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTadm = new ExchangeBoard
			{
				Code = "TADM",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexNadm = new ExchangeBoard
			{
				Code = "NADM",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			//MicexTran = new ExchangeBoard
			//{
			//	Code = "TRAN",
			//	WorkingTime = micexWorkingTime.Clone(),
			//	IsSupportMarketOrders = true,
			//	Exchange = Exchange.Moex,
			//	TimeZone = moscowTime,
			//};

			MicexPsau = new ExchangeBoard
			{
				Code = "PSAU",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPaus = new ExchangeBoard
			{
				Code = "PAUS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsbb = new ExchangeBoard
			{
				Code = "PSBB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPseq = new ExchangeBoard
			{
				Code = "PSEQ",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPses = new ExchangeBoard
			{
				Code = "PSES",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPseu = new ExchangeBoard
			{
				Code = "PSEU",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsdb = new ExchangeBoard
			{
				Code = "PSDB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsde = new ExchangeBoard
			{
				Code = "PSDE",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsus = new ExchangeBoard
			{
				Code = "PSUS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsnb = new ExchangeBoard
			{
				Code = "PSNB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsne = new ExchangeBoard
			{
				Code = "PSNE",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsnl = new ExchangeBoard
			{
				Code = "PSNL",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsno = new ExchangeBoard
			{
				Code = "PSNO",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsob = new ExchangeBoard
			{
				Code = "PSOB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsos = new ExchangeBoard
			{
				Code = "PSOS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsov = new ExchangeBoard
			{
				Code = "PSOV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPslv = new ExchangeBoard
			{
				Code = "PSLV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsli = new ExchangeBoard
			{
				Code = "PSLI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPsqi = new ExchangeBoard
			{
				Code = "PSQI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpeu = new ExchangeBoard
			{
				Code = "RPEU",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpma = new ExchangeBoard
			{
				Code = "RPMA",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpmo = new ExchangeBoard
			{
				Code = "RPMO",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpua = new ExchangeBoard
			{
				Code = "RPUA",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpuo = new ExchangeBoard
			{
				Code = "RPUO",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpuq = new ExchangeBoard
			{
				Code = "RPUQ",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexFbcb = new ExchangeBoard
			{
				Code = "FBCB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexFbfx = new ExchangeBoard
			{
				Code = "FBFX",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexIrk2 = new ExchangeBoard
			{
				Code = "IRK2",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpqi = new ExchangeBoard
			{
				Code = "RPQI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPteq = new ExchangeBoard
			{
				Code = "PTEQ",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtes = new ExchangeBoard
			{
				Code = "PTES",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPteu = new ExchangeBoard
			{
				Code = "PTEU",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtus = new ExchangeBoard
			{
				Code = "PTUS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtnb = new ExchangeBoard
			{
				Code = "PTNB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtne = new ExchangeBoard
			{
				Code = "PTNE",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtnl = new ExchangeBoard
			{
				Code = "PTNL",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtno = new ExchangeBoard
			{
				Code = "PTNO",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtob = new ExchangeBoard
			{
				Code = "PTOB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtos = new ExchangeBoard
			{
				Code = "PTOS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtov = new ExchangeBoard
			{
				Code = "PTOV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtlv = new ExchangeBoard
			{
				Code = "PTLV",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtli = new ExchangeBoard
			{
				Code = "PTLI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexPtqi = new ExchangeBoard
			{
				Code = "PTQI",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexScvc = new ExchangeBoard
			{
				Code = "SCVC",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpng = new ExchangeBoard
			{
				Code = "RPNG",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexRpfg = new ExchangeBoard
			{
				Code = "RPFG",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexCbcr = new ExchangeBoard
			{
				Code = "CBCR",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexCred = new ExchangeBoard
			{
				Code = "CRED",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexDepz = new ExchangeBoard
			{
				Code = "DEPZ",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
			};

			MicexDpvb = new ExchangeBoard
			{
				Code = "DPVB",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexDpfk = new ExchangeBoard
			{
				Code = "DPFK",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexDpfo = new ExchangeBoard
			{
				Code = "DPFO",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexDppf = new ExchangeBoard
			{
				Code = "DPPF",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexCets = new ExchangeBoard
			{
				Code = "CETS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexAets = new ExchangeBoard
			{
				Code = "AETS",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexCngd = new ExchangeBoard
			{
				Code = "CNGD",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexTran = new ExchangeBoard
			{
				Code = "TRAN",
				WorkingTime = micexWorkingTime.Clone(),
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			MicexJunior = new ExchangeBoard
			{
				Code = "QJSIM",
				IsSupportMarketOrders = true,
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Moex,
				TimeZone = moscowTime,
			};

			Ux = new ExchangeBoard
			{
				Code = "UX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("10:30:00".To<TimeSpan>(), "13:00:00".To<TimeSpan>()),
								new Range<TimeSpan>("13:03:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
							},
						}
					},
				},
				ExpiryTime = new TimeSpan(18, 45, 00),
				IsSupportAtomicReRegister = true,
				Exchange = Exchange.Ux,
				TimeZone = TimeZoneInfo.FromSerializedString("FLE Standard Time;120;(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius;FLE Standard Time;FLE Daylight Time;[01:01:0001;12:31:9999;60;[0;03:00:00;3;5;0;];[0;04:00:00;10;5;0;];];"),
			};

			UxStock = new ExchangeBoard
			{
				Code = "GTS",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("10:30:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Ux,
				TimeZone = TimeZoneInfo.FromSerializedString("FLE Standard Time;120;(GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius;FLE Standard Time;FLE Daylight Time;[01:01:0001;12:31:9999;60;[0;03:00:00;3;5;0;];[0;04:00:00;10;5;0;];];"),
			};

			var newYorkTime = TimeZoneInfo.FromSerializedString("Eastern Standard Time;-300;(UTC-05:00) Eastern Time (US & Canada);Eastern Standard Time;Eastern Daylight Time;[01:01:0001;12:31:2006;60;[0;02:00:00;4;1;0;];[0;02:00:00;10;5;0;];][01:01:2007;12:31:9999;60;[0;02:00:00;3;2;0;];[0;02:00:00;11;1;0;];];");
			var chicagoTime = TimeZoneInfo.FromSerializedString("Central Standard Time;-360;(UTC-06:00) Central Time (US & Canada);Central Standard Time;Central Daylight Time;[01:01:0001;12:31:2006;60;[0;02:00:00;4;1;0;];[0;02:00:00;10;5;0;];][01:01:2007;12:31:9999;60;[0;02:00:00;3;2;0;];[0;02:00:00;11;1;0;];];");

			Amex = new ExchangeBoard
			{
				Code = "AMEX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
							},
						}
					},
				},
				IsSupportMarketOrders = true,
				TimeZone = newYorkTime,
				Exchange = Exchange.Amex
			};

			Cme = new ExchangeBoard
			{
				Code = "CME",
				TimeZone = chicagoTime,
				Exchange = Exchange.Cme,
			};

			Cbot = new ExchangeBoard
			{
				Code = "CBOT",
				TimeZone = chicagoTime,
				Exchange = Exchange.Cbot,
			};

			Cce = new ExchangeBoard
			{
				Code = "CCE",
				TimeZone = chicagoTime,
				Exchange = Exchange.Cce,
			};

			Nyse = new ExchangeBoard
			{
				Code = "NYSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
							},
						}
					},
				},
				IsSupportMarketOrders = true,
				TimeZone = newYorkTime,
				Exchange = Exchange.Nyse
			};

			Nymex = new ExchangeBoard
			{
				Code = "NYMEX",
				TimeZone = newYorkTime,
				Exchange = Exchange.Nymex,
			};

			Nasdaq = new ExchangeBoard
			{
				Code = "NASDAQ",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
							},
						}
					},
				},
				IsSupportMarketOrders = true,
				Exchange = Exchange.Nasdaq,
				TimeZone = newYorkTime,
			};

			Nqlx = new ExchangeBoard
			{
				Code = "NQLX",
				Exchange = Exchange.Nqlx,
				TimeZone = newYorkTime,
			};

			Tsx = new ExchangeBoard
			{
				Code = "TSX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Tsx,
				TimeZone = newYorkTime,
			};

			Lse = new ExchangeBoard
			{
				Code = "LSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("08:00:00".To<TimeSpan>(), "16:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Lse,
				TimeZone = TimeZoneInfo.FromSerializedString("GMT Standard Time;0;(UTC) Dublin, Edinburgh, Lisbon, London;GMT Standard Time;GMT Daylight Time;[01:01:0001;12:31:9999;60;[0;01:00:00;3;5;0;];[0;02:00:00;10;5;0;];];"),
			};

			Tse = new ExchangeBoard
			{
				Code = "TSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:00:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
								new Range<TimeSpan>("12:30:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Tse,
				TimeZone = TimeZoneInfo.FromSerializedString("Tokyo Standard Time;540;(UTC+09:00) Osaka, Sapporo, Tokyo;Tokyo Standard Time;Tokyo Daylight Time;;"),
			};

			var chinaTime = TimeZoneInfo.FromSerializedString("China Standard Time;480;(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi;China Standard Time;China Daylight Time;;");

			Hkex = new ExchangeBoard
			{
				Code = "HKEX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:20:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
								new Range<TimeSpan>("13:00:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Hkex,
				TimeZone = chinaTime,
			};

			Hkfe = new ExchangeBoard
			{
				Code = "HKFE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:15:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
								new Range<TimeSpan>("13:00:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Hkfe,
				TimeZone = chinaTime,
			};

			Sse = new ExchangeBoard
			{
				Code = "SSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
								new Range<TimeSpan>("13:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Sse,
				TimeZone = chinaTime,
			};

			Szse = new ExchangeBoard
			{
				Code = "SZSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "11:30:00".To<TimeSpan>()),
								new Range<TimeSpan>("13:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Szse,
				TimeZone = chinaTime,
			};

			Tsec = new ExchangeBoard
			{
				Code = "TSEC",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:00:00".To<TimeSpan>(), "13:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Tsec,
				TimeZone = chinaTime,
			};

			var singaporeTime = TimeZoneInfo.FromSerializedString("Singapore Standard Time;480;(UTC+08:00) Kuala Lumpur, Singapore;Malay Peninsula Standard Time;Malay Peninsula Daylight Time;;");

			Sgx = new ExchangeBoard
			{
				Code = "SGX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Sgx,
				TimeZone = singaporeTime,
			};

			Pse = new ExchangeBoard
			{
				Code = "PSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "12:00:00".To<TimeSpan>()),
								new Range<TimeSpan>("13:30:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Pse,
				TimeZone = singaporeTime,
			};

			Klse = new ExchangeBoard
			{
				Code = "KLSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:00:00".To<TimeSpan>(), "12:30:00".To<TimeSpan>()),
								new Range<TimeSpan>("14:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Klse,
				TimeZone = singaporeTime,
			};

			var bangkokTime = TimeZoneInfo.FromSerializedString("SE Asia Standard Time;420;(UTC+07:00) Bangkok, Hanoi, Jakarta;SE Asia Standard Time;SE Asia Daylight Time;;");

			Idx = new ExchangeBoard
			{
				Code = "IDX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "16:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Idx,
				TimeZone = bangkokTime,
			};

			Set = new ExchangeBoard
			{
				Code = "SET",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("10:00:00".To<TimeSpan>(), "12:30:00".To<TimeSpan>()),
								new Range<TimeSpan>("14:30:00".To<TimeSpan>(), "16:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Set,
				TimeZone = bangkokTime,
			};

			var indiaTime = TimeZoneInfo.FromSerializedString("India Standard Time;330;(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi;India Standard Time;India Daylight Time;;");

			Bse = new ExchangeBoard
			{
				Code = "BSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:15:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Bse,
				TimeZone = indiaTime,
			};

			Nse = new ExchangeBoard
			{
				Code = "NSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:15:00".To<TimeSpan>(), "15:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Nse,
				TimeZone = indiaTime,
			};

			Cse = new ExchangeBoard
			{
				Code = "CSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:30:00".To<TimeSpan>(), "14:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Cse,
				TimeZone = TimeZoneInfo.FromSerializedString("Sri Lanka Standard Time;330;(UTC+05:30) Sri Jayawardenepura;Sri Lanka Standard Time;Sri Lanka Daylight Time;;"),
			};

			Krx = new ExchangeBoard
			{
				Code = "KRX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:00:00".To<TimeSpan>(), "15:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Krx,
				TimeZone = TimeZoneInfo.FromSerializedString("Korea Standard Time;540;(UTC+09:00) Seoul;Korea Standard Time;Korea Daylight Time;;"),
			};

			Asx = new ExchangeBoard
			{
				Code = "ASX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:50:00".To<TimeSpan>(), "16:12:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Asx,
				TimeZone = TimeZoneInfo.FromSerializedString("AUS Eastern Standard Time;600;(UTC+10:00) Canberra, Melbourne, Sydney;AUS Eastern Standard Time;AUS Eastern Daylight Time;[01:01:0001;12:31:2007;60;[0;02:00:00;10;5;0;];[0;03:00:00;3;5;0;];][01:01:2008;12:31:9999;60;[0;02:00:00;10;1;0;];[0;03:00:00;4;1;0;];];"),
			};

			Nzx = new ExchangeBoard
			{
				Code = "NZX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("10:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Nzx,
				TimeZone = TimeZoneInfo.FromSerializedString("New Zealand Standard Time;720;(UTC+12:00) Auckland, Wellington;New Zealand Standard Time;New Zealand Daylight Time;[01:01:0001;12:31:2006;60;[0;02:00:00;10;1;0;];[0;03:00:00;3;3;0;];][01:01:2007;12:31:2007;60;[0;02:00:00;9;5;0;];[0;03:00:00;3;3;0;];][01:01:2008;12:31:9999;60;[0;02:00:00;9;5;0;];[0;03:00:00;4;1;0;];];"),
			};

			Tase = new ExchangeBoard
			{
				Code = "TASE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("09:00:00".To<TimeSpan>(), "16:25:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Tase,
				TimeZone = TimeZoneInfo.FromSerializedString("Israel Standard Time;120;(UTC+02:00) Jerusalem;Jerusalem Standard Time;Jerusalem Daylight Time;[01:01:2005;12:31:2005;60;[0;02:00:00;4;1;5;];[0;02:00:00;10;2;0;];][01:01:2006;12:31:2006;60;[0;02:00:00;3;5;5;];[0;02:00:00;10;1;0;];][01:01:2007;12:31:2007;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;3;0;];][01:01:2008;12:31:2008;60;[0;02:00:00;3;5;5;];[0;02:00:00;10;1;0;];][01:01:2009;12:31:2009;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;5;0;];][01:01:2010;12:31:2010;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;2;0;];][01:01:2011;12:31:2011;60;[0;02:00:00;4;1;5;];[0;02:00:00;10;1;0;];][01:01:2012;12:31:2012;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;4;0;];][01:01:2013;12:31:2013;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;2;0;];][01:01:2014;12:31:2014;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;4;0;];][01:01:2015;12:31:2015;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;3;0;];][01:01:2016;12:31:2016;60;[0;02:00:00;4;1;5;];[0;02:00:00;10;2;0;];][01:01:2017;12:31:2017;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;4;0;];][01:01:2018;12:31:2018;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;3;0;];][01:01:2019;12:31:2019;60;[0;02:00:00;3;5;5;];[0;02:00:00;10;1;0;];][01:01:2020;12:31:2020;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;4;0;];][01:01:2021;12:31:2021;60;[0;02:00:00;3;5;5;];[0;02:00:00;9;2;0;];][01:01:2022;12:31:2022;60;[0;02:00:00;4;1;5;];[0;02:00:00;10;1;0;];];"),
			};

			Fwb = new ExchangeBoard
			{
				Code = "FWB",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("08:00:00".To<TimeSpan>(), "22:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Fwb,
				TimeZone = TimeZoneInfo.FromSerializedString("W. Europe Standard Time;60;(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna;W. Europe Standard Time;W. Europe Daylight Time;[01:01:0001;12:31:9999;60;[0;02:00:00;3;5;0;];[0;03:00:00;10;5;0;];];"),
			};

			Mse = new ExchangeBoard
			{
				Code = "MSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("9:00:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Mse,
				TimeZone = TimeZoneInfo.FromSerializedString("Romance Standard Time;60;(UTC+01:00) Brussels, Copenhagen, Madrid, Paris;Romance Standard Time;Romance Daylight Time;[01:01:0001;12:31:9999;60;[0;02:00:00;3;5;0;];[0;03:00:00;10;5;0;];];"),
			};

			Swx = new ExchangeBoard
			{
				Code = "SWX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("9:00:00".To<TimeSpan>(), "17:30:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Swx,
				TimeZone = GetTimeZone("Central European Standard Time", TimeSpan.FromHours(1)),
			};

			Jse = new ExchangeBoard
			{
				Code = "JSE",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("9:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Jse,
				TimeZone = GetTimeZone("South Africa Standard Time", TimeSpan.FromHours(2)),
			};

			Lmax = new ExchangeBoard
			{
				Code = "LMAX",
				WorkingTime = new WorkingTime
				{
					Periods = new[]
					{
						new WorkingTimePeriod
						{
							Till = DateTime.MaxValue,
							Times = new[]
							{
								new Range<TimeSpan>("9:00:00".To<TimeSpan>(), "17:00:00".To<TimeSpan>())
							},
						}
					},
				},
				Exchange = Exchange.Lmax,
			};

			DukasCopy = new ExchangeBoard
			{
				Code = "DUKAS",
				Exchange = Exchange.DukasCopy,
			};

			GainCapital = new ExchangeBoard
			{
				Code = "GAIN",
				Exchange = Exchange.GainCapital,
			};

			MBTrading = new ExchangeBoard
			{
				Code = "MBT",
				Exchange = Exchange.MBTrading,
			};

			TrueFX = new ExchangeBoard
			{
				Code = "TRUEFX",
				Exchange = Exchange.TrueFX,
			};

			Integral = new ExchangeBoard
			{
				Code = "INTGRL",
				Exchange = Exchange.Integral,
			};

			Cfh = new ExchangeBoard
			{
				Code = "CFH",
				Exchange = Exchange.Cfh,
			};

			Ond = new ExchangeBoard
			{
				Code = "OND",
				Exchange = Exchange.Ond,
			};

			Smart = new ExchangeBoard
			{
				Code = "SMART",
				Exchange = Exchange.Nasdaq,
			};

			Btce = new ExchangeBoard
			{
				Code = Exchange.Btce.Name,
				Exchange = Exchange.Btce,
			};

			BitStamp = new ExchangeBoard
			{
				Code = Exchange.BitStamp.Name,
				Exchange = Exchange.BitStamp,
			};

			BtcChina = new ExchangeBoard
			{
				Code = Exchange.BtcChina.Name,
				Exchange = Exchange.BtcChina,
			};

			Icbit = new ExchangeBoard
			{
				Code = Exchange.Icbit.Name,
				Exchange = Exchange.Icbit,
			};
		}
Ejemplo n.º 5
0
 public PrepNode(DayOfWeek day, WorkingTime time, LessonType lType) : base(day, time, lType)
 {
 }
Ejemplo n.º 6
0
 public AuditoryNode(DayOfWeek day, WorkingTime time, LessonType lType) : base(day, time, lType)
 {
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Получить временные рамки свечи относительно режиме работы биржи.
        /// </summary>
        /// <param name="timeFrame">Тайм-фрейм, по которому необходимо получить временные рамки.</param>
        /// <param name="currentTime">Текущее время, входящее в диапазон временных рамок.</param>
        /// <param name="time">Информация о режиме работы биржи.</param>
        /// <returns>Временные рамки свечи.</returns>
        public static Range <DateTime> GetCandleBounds(this TimeSpan timeFrame, DateTime currentTime, WorkingTime time)
        {
            if (time == null)
            {
                throw new ArgumentNullException("time");
            }

            if (timeFrame.Ticks == _weekTf)
            {
                var monday = currentTime.StartOfWeek(DayOfWeek.Monday);

                var endDay = currentTime.Date;

                while (endDay.DayOfWeek != DayOfWeek.Sunday)
                {
                    var nextDay = endDay.AddDays(1);

                    if (nextDay.Month != endDay.Month)
                    {
                        break;
                    }

                    endDay = nextDay;
                }

                return(new Range <DateTime>(monday, endDay.EndOfDay()));
            }
            else if (timeFrame.Ticks == TimeHelper.TicksPerMonth)
            {
                var month = new DateTime(currentTime.Year, currentTime.Month, 1);
                return(new Range <DateTime>(month, (month + TimeSpan.FromDays(month.DaysInMonth())).EndOfDay()));
            }

            var period = time.GetPeriod(currentTime);

            // http://stocksharp.com/forum/yaf_postsm13887_RealtimeEmulationTrader---niepravil-nyie-sviechi.aspx#post13887
            // отсчет свечек идет от начала сессии и игнорируются клиринги
            var startTime = period != null && period.Times.Length > 0 ? period.Times[0].Min : TimeSpan.Zero;

            var length    = (currentTime.TimeOfDay - startTime).To <long>();
            var beginTime = currentTime.Date + (startTime + length.Floor(timeFrame.Ticks).To <TimeSpan>());

            //последняя свеча должна заканчиваться в конец торговой сессии
            var      tempEndTime = beginTime.TimeOfDay + timeFrame;
            TimeSpan stopTime;

            if (period != null && period.Times.Length > 0)
            {
                var last = period.Times.LastOrDefault(t => tempEndTime > t.Min);
                stopTime = last == null ? TimeSpan.MaxValue : last.Max;
            }
            else
            {
                stopTime = TimeSpan.MaxValue;
            }

            var endTime = beginTime + timeFrame.Min(stopTime - beginTime.TimeOfDay);

            // если currentTime попало на клиринг
            if (endTime < beginTime)
            {
                endTime = beginTime.Date + tempEndTime;
            }

            var days = timeFrame.Days > 1 ? timeFrame.Days - 1 : 0;

            var min = beginTime.Truncate(TimeSpan.TicksPerMillisecond);
            var max = endTime.Truncate(TimeSpan.TicksPerMillisecond).AddDays(days);

            return(new Range <DateTime>(min, max));
        }
Ejemplo n.º 8
0
        private void ButtonSacuvajLekara_Click(object sender, RoutedEventArgs e)
        {
            Doctor doctor = new Doctor();

            doctor.Jmbg             = JmbgTb.Text as string;
            doctor.Name             = ImeTb.Text as string;
            doctor.DateOfBirth      = (DateTime)DatumRTb.SelectedDate;
            doctor.DateOfEmployment = (DateTime)DatumZTb.SelectedDate;
            doctor.Email            = EmailTb.Text as string;
            doctor.Phone            = TelTb.Text as string;
            doctor.HomeAddress      = AdresaTb.Text as string;
            doctor.Surname          = PrezimeTb.Text as string;
            doctor.Username         = KorisnikTb.Text as string;
            doctor.Password         = SifraTb.Text as string;
            doctor.NumberOfLicence  = LicencaTb.Text as string;
            doctor.Type             = (TypeOfDoctor)TipTb.SelectedItem;
            doctor.Gender           = (GenderType)PolCb.SelectedItem;
            int            soba           = Convert.ToInt32(SobaTb.Text);
            int            grad           = Convert.ToInt32(GradTb.Text);
            RoomController roomController = new RoomController();
            Room           room           = roomController.ViewRoomByNumber(soba);

            doctor.DoctorsOffice = room;

            CityController cityController = new CityController();
            City           city           = cityController.getCityByZipCode(grad);

            doctor.City = city;

            Doctor s = new Doctor();

            s = (Doctor)uc.ViewProfile(doctor.Jmbg);
            if (s == null)
            {
                uc.Register(doctor);
                Poruka.Text = "Uspesno ste sacuvali doktora!";
            }
            else
            {
                uc.EditProfile(doctor);
                ExaminationController ec = new ExaminationController();
                ec.DeleteDoctorExaminations(doctor.Jmbg);
                WorkingTimeController wtc  = new WorkingTimeController();
                WorkingTime           novo = new WorkingTime();
                novo = wtc.viewWorkingTimeDoctor(doctor.Jmbg);
                wtc.EditWorkingTime(novo);
                Poruka.Text = "Uspesno ste izmenili doktora!";
            }


            /* VALIDACIJA
             * // 1. Resetovati sve validacione poruke
             * ResetAllErrors();
             *
             * // 2. Izvrsiti validaciju
             * bool isValid = true;
             *
             * if (String.IsNullOrWhiteSpace(ImeTb.Text))
             * {
             *      ErrorImeTb.Text = "Morate uneti ime";
             *      ImeTb.BorderBrush = Brushes.Red;
             *      isValid = false;
             * }
             * //
             * // Ostatak validacije
             * //
             * Poruka.Text = "Uspesno ste sacuvali lekara!";
             *
             *
             * // 3. Reagovati na rezultat validacije
             * if (isValid)
             * {
             *      // Dodaj lekara
             *      // SuccessMessageTb.Text = "Uspesno ste dodali lekara.";
             *      // Resetovati sve textboxove, comboboxove, datepickere.
             *      // Za sve TB stavis .Text = ""
             *      // Za DatePicker.SelectedDate stavis DateTime.Now
             *      // Za CB stavis .SelectedItem = ListZaCB[0]
             * }*/
        }
 public WorkingTime Update(WorkingTime item)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 10
0
 public WorkingTime AddWorkingTime(WorkingTime workingTime)
 {
     return(WorkingTimeRepository.GetInstance().Create(workingTime));
 }
 public Task <bool> UpdateWorkingTimeAsync(WorkingTime workingTime)
 {
     return(restService.UpdateWorkingTimeAsync(workingTime));
 }