Beispiel #1
0
 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;
     }
 }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
0
 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;
     }
 }