Ejemplo n.º 1
0
        /// <summary>
        /// Just try add the talk gracefully
        /// </summary>
        /// <param name="talk"></param>
        /// <returns></returns>
        public bool TryAddTalk(SessionTalk talk)
        {
            // Let us try to fit the talk in the morning.
            if (MorningCurrentSlotPosition < LunchStartMinutes &&
                MorningRemainingMinutes >= talk.Minutes)
            {
                // Just do some basic calculation to look smart
                //talk.Time = DateTime.Today.AddMinutes(MorningCurrentSlotPosition);
                //talk.TimeString = talk.Time.ToString(AppConstants.TimeFormat);
                MorningSessionTalks.Add(talk);
                MorningCurrentSlotPosition += talk.Minutes;
                MorningRemainingMinutes    -= talk.Minutes;
                return(true);
            }

            // try adding to noon slot (Sleepy Time)
            if (NoonCurrentSlotPostion < MaxNetworkMinutes &&
                NoonRemainingMinutes >= talk.Minutes)
            {
                // Again just being smart
                //talk.Time = DateTime.Today.AddMinutes(NoonCurrentSlotPostion);
                //talk.TimeString = talk.Time.ToString(AppConstants.TimeFormat);
                talk.IsNoonSession = true;
                AfterNoonSessionTalks.Add(talk);
                NoonCurrentSlotPostion += talk.Minutes;
                NoonRemainingMinutes   -= talk.Minutes;
                return(true);
            }
            return(false);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Remove the talk from Track, yay it has better place in another track
 /// </summary>
 /// <param name="talk"></param>
 public void RemoveTalk(SessionTalk talk)
 {
     if (talk.IsNoonSession)
     {
         if (AfterNoonSessionTalks.Any(t => t.TalkID == talk.TalkID))
         {
             NoonCurrentSlotPostion -= talk.Minutes;
             NoonRemainingMinutes    = +talk.Minutes;
             AfterNoonSessionTalks.Remove(talk);
         }
     }
     else
     {
         if (MorningSessionTalks.Any(t => t.TalkID == talk.TalkID))
         {
             MorningCurrentSlotPosition -= talk.Minutes;
             MorningRemainingMinutes    += talk.Minutes;
             MorningSessionTalks.Remove(talk);
         }
     }
 }