public FactoryCalendar(ref FactoryCalendar rhs) { if (m_working_days == null) { m_working_days = new List<YearMonthDay>(); } if (m_validity_start == null) { m_validity_start = rhs.m_validity_start; } }
private void load_factory_calendar(string factory_calendar_id, ref FactoryCalendar factory_calendar) { string fields = "[YEAR],[MON01],[MON02],[MON03],[MON04],[MON05],[MON06],[MON07],[MON08],[MON09],[MON10],[MON11],[MON12]"; string table = "[FCalendar]"; string sorting = "[YEAR]"; string query = string.Format("SELECT {0} FROM {1} ORDER BY {2}", fields, table, sorting); try { if (factory_calendar == null) { factory_calendar = new FactoryCalendar(); } DataSet ds = null; ds = GetDataSet(query); if (ds != null) { if (ds.Tables[0].Rows.Count > 0) { int year = 0; bool is_first_year = true; foreach (DataRow dr in ds.Tables[0].Rows) { year = int.Parse(dr["YEAR"].ToString()); // Set first year as start of validity if (is_first_year) { is_first_year = false; YearMonthDay validity_start = new YearMonthDay(year, 1, 1); factory_calendar.set_validity_start(validity_start); } // Add working days for each month of the year for (int month = 1; month <= 12; month++) { add_working_days(ref factory_calendar, year, month, dr[string.Format("MON{0}", month.ToString("D2"))].ToString()); } } } } } catch (Exception ex) { throw ex; } }
private void add_working_days(ref FactoryCalendar factory_calendar, int year, int month, string day_spec) { try { for (int day_num = 0; day_num < day_spec.Length; day_num++) { int day = int.Parse(day_spec.Substring(day_num, 1)); if (day == 1) { YearMonthDay working_day = new YearMonthDay(year, month, day_num + 1); factory_calendar.add_working_day(working_day); } } } catch (Exception ex) { throw ex; } }