Ejemplo n.º 1
0
 /// <summary>勤務シフトの削除
 /// </summary>
 /// <param name="pattern">削除するシフト</param>
 public virtual void  DelPattern(CPattern pattern)
 {
     pattern.SetAvailable(false);
     if (pattern.Removed != null)
     {
         availables.Remove(pattern);
         // 人員配置から削除
         CRequirePatternsCollection requires = parent.Requires;
         for (int i = 0; i < requires.Size(true); i++)
         {
             CRequirePatterns require = requires[i, true];
             require.SetRequire(pattern, 0);
         }
         // メンバーから削除
         CMemberCollection members = parent.Members;
         for (int i = 0; i < members.Size(true); i++)
         {
             CMember member = members[i, true];
             member.RemovePattern(pattern);
         }
         // イベント発生
         if (TimeTable != null)
         {
             TimeTable.NotifyPatternsEdited(EnumTimeTableElementEventTypes.ElementRemoved, pattern);
         }
     }
 }
Ejemplo n.º 2
0
 /// <summary>コンストラクタ
 /// </summary>
 public CTimeTable()
     : base()
 {
     InitBlock();
     //DayOffs = new DayOffCollection(this);
     members  = new CMemberCollection(this);
     patterns = new CPatternCollection(this);
     daysoff  = new CDayOffCollection(this);
     requires = new CRequirePatternsCollection(this);
     dates    = new CScheduledDateCollection(this);
 }
Ejemplo n.º 3
0
 /// <summary>人員配置のインポート
 /// </summary>
 /// <param name="requires">インポートする人員配置</param>
 /// <returns>成功:追加したエレメント/不成功:null</returns>
 private CRequirePatterns ImportRequires(CRequirePatterns requires)
 {
     #region 重複チェック
     CRequirePatternsCollection col = Target.Requires;
     if (col.GetByName(requires.Name) != null)
     {
         return(null);
     }
     if (col.Size() >= FMainForm.MaxItemCount)
     {
         return(null);
     }
     #endregion
     #region インポート
     CRequirePatterns newrequires = col.CreateRequirePatterns(true);
     newrequires.Name = requires.Name;
     for (int i = 0; i < Source.Patterns.Size(true); i++)
     {
         CPattern pattern = Source.Patterns[i, true];
         int      needs   = requires.GetRequire(pattern);
         if (!pattern.BuiltIn && (pattern.Removed == null || needs > 0))
         {
             CPattern newpattern = Target.Patterns.GetByName(pattern.Name);
             if (newpattern == null)
             {
                 newpattern = ImportPattern(pattern);
             }
             newrequires.SetRequire(newpattern, needs);
         }
     }
     newrequires.Notes = requires.Notes + "\nインポートされました。";
     foreach (string key in requires.properties.AllKeys)
     {
         newrequires[key] = requires[key];
     }
     #endregion
     col.AddRequirePatterns(newrequires);
     // 終端
     return(newrequires);
 }
Ejemplo n.º 4
0
 /// <summary>コンストラクタ
 /// </summary>
 /// <param name="patternList">勤務シフトのリスト</param>
 /// <param name="parent">タイムテーブル</param>
 public CRequirePatterns(CPatternCollection patternList, CRequirePatternsCollection parent)
     : base()
 {
     this.patternList = patternList;
     this.parent      = parent;
 }