/// <summary>休日のインポート
 /// </summary>
 /// <param name="dayoff">インポートする休日</param>
 /// <returns>成功:追加したエレメント/不成功:null</returns>
 private CDayOff ImportDayOff(CDayOff dayoff)
 {
     #region 重複チェック
     CDayOffCollection col = Target.DayOffs;
     if (col.GetByName(dayoff.Name) != null)
     {
         return(null);
     }
     if (col.Size() >= FMainForm.MaxItemCount)
     {
         return(null);
     }
     #endregion
     #region インポート
     CDayOff newdayoff = col.CreateDayOff(true);
     newdayoff.Name      = dayoff.Name;
     newdayoff.StartDate = dayoff.StartDate;
     newdayoff.EndDate   = dayoff.EndDate;
     foreach (string key in dayoff.properties.AllKeys)
     {
         newdayoff[key] = dayoff[key];
     }
     #endregion
     col.AddDayOff(newdayoff);
     // 終端
     return(newdayoff);
 }
 /// <summary>インポートする
 /// </summary>
 /// <param name="sender">イベント発生元</param>
 /// <param name="e">発生したイベント</param>
 private void BtnOK_Click(object sender, EventArgs e)
 {
     try {
         foreach (DataRowView view in LstImportMember.CheckedItems)
         {
             CMember item = view.Row["ClmImportMember"] as CMember;
             ImportMember(item);
         }
         foreach (DataRowView view in LstImportPattern.CheckedItems)
         {
             CPattern item = view.Row["ClmImportPattern"] as CPattern;
             ImportPattern(item);
         }
         foreach (DataRowView view in LstImportRequires.CheckedItems)
         {
             CRequirePatterns item = view.Row["ClmImportRequires"] as CRequirePatterns;
             ImportRequires(item);
         }
         foreach (DataRowView view in LstImportDayOff.CheckedItems)
         {
             CDayOff item = view.Row["ClmImportDayOff"] as CDayOff;
             ImportDayOff(item);
         }
     } catch (Exception ex) {
         MessageBox.Show(this, ex.StackTrace, ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     Dispose();
 }
 /// <summary>休日を追加する
 /// </summary>
 public void AddDayOff(CDayOff dayoff)
 {
     this.DayOffs.Add(dayoff);
     if (TimeTable != null)
     {
         TimeTable.NotifyDayOffsEdited(EnumTimeTableElementEventTypes.ElementAdded, dayoff);
     }
 }
 /// <summary>休日の削除
 /// </summary>
 public void DeleteDayOff(CDayOff dayoff)
 {
     DayOffs.Remove(dayoff);
     if (TimeTable != null)
     {
         TimeTable.NotifyDayOffsEdited(EnumTimeTableElementEventTypes.ElementRemoved, dayoff);
     }
 }
 /// <summary>休日一覧の作成
 /// </summary>
 private void MakeDayOffs()
 {
     for (int i = 0; i < Source.DayOffs.Size(); i++)
     {
         CDayOff dayoff = Source.DayOffs[i];
         DataRow dr     = TblImportDayOff.NewRow();
         dr[ClmImportDayOff]     = dayoff;
         dr[ClmImportDayOffName] = dayoff.Name + (dayoff.Removed == null ? "" : "(削除されています)");
         TblImportDayOff.Rows.Add(dr);
     }
 }
        /// <summary>新しい休日の作成(初期化つき)
        /// </summary>
        /// <param name="init"></param>
        /// <returns></returns>
        public CDayOff CreateDayOff(bool init)
        {
            CDayOff RetValue = CreateDayOff();

            if (init)
            {
                RetValue.Name      = "新しい休日";
                RetValue.StartDate = System.DateTime.Today;
                RetValue.EndDate   = System.DateTime.Today;
            }
            return(RetValue);
        }
        /// <summary>名前から取得
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public CDayOff GetByName(string name)
        {
            CDayOff ret = null;

            for (int i = 0; i < Count; i++)
            {
                if (this[i].Name == name)
                {
                    ret = this[i];
                    break;
                }
            }
            return(ret);
        }
Beispiel #8
0
        /// <summary>休日のセーブ
        /// </summary>
        public XmlElement SaveDayOffs(XmlDocument doc, CTimeTable all)
        {
            XmlElement element = doc.CreateElement("dayoffs");

            SaveTmElement(doc, element, all.DayOffs);
            for (int i = 0; i < all.DayOffs.Size(); i++)
            {
                CDayOff    dayoff = all.DayOffs[i];
                XmlElement pNode  = doc.CreateElement("dayoff");
                SaveTmElement(doc, pNode, dayoff);
                pNode.SetAttribute("name", dayoff.Name);
                pNode.SetAttribute("start", dayoff.StartDate.ToString(CSaver.DATEFORMAT));
                pNode.SetAttribute("end", dayoff.EndDate.ToString(CSaver.DATEFORMAT));
                element.AppendChild(pNode);
            }
            return(element);
        }
Beispiel #9
0
        /// <summary>休日のロード
        /// </summary>
        public void LoadDayOffs(XmlElement element, CTimeTable all)
        {
            XmlElement pNode = element.FirstChild as XmlElement;

            while (pNode != null)
            {
                if (pNode.Name == "dayoff")
                {
                    // 休日
                    CDayOff dayoff = all.DayOffs.CreateDayOff();
                    LoadTmElement(pNode, dayoff);
                    dayoff.Name      = pNode.GetAttribute("name");
                    dayoff.StartDate = DateTime.Parse(pNode.GetAttribute("start"));
                    dayoff.EndDate   = DateTime.Parse(pNode.GetAttribute("end"));
                    all.DayOffs.AddDayOff(dayoff);
                }
                //
                pNode = pNode.NextSibling as XmlElement;
            }
        }
        /// <summary>休日の作成
        /// </summary>
        public CDayOff CreateDayOff()
        {
            CDayOff RetValue = new CDayOff(this);

            return(RetValue);
        }
        /// <summary>休日の削除
        /// </summary>
        public void DeleteDayOff(int n)
        {
            CDayOff doff = DayOffs[n];

            DeleteDayOff(doff);
        }
 public EDayOffsEditedEventArgs(EnumTimeTableElementEventTypes EventType, CDayOff EventSource)
 {
     this.type   = EventType;
     this.source = EventSource;
 }