/// <summary>
        /// GetMeetingConfigSchedule Callback Method
        /// </summary>
        /// <param name="val">MeetingConfigurationSchedule</param>
        private void GetMeetingConfigScheduleCallbackMethod(MeetingConfigurationSchedule val)
        {
            string methodNamespace = String.Format("{0}.{1}", GetType().FullName, System.Reflection.MethodInfo.GetCurrentMethod().Name);

            Logging.LogBeginMethod(logger, methodNamespace);
            try
            {
                if (val != null)
                {
                    #region Get Local DateTimes
                    String   presentationDay      = val.PresentationDay;
                    DateTime presentationTime     = val.PresentationTime;
                    DateTime presentationDateTime = GetDateTimeFromDayTime(presentationDay
                                                                           , presentationTime).ToLocalTime();

                    String   preMeetingVotingDeadlineDay      = val.PreMeetingVotingDeadlineDay;
                    DateTime preMeetingVotingDeadlineTime     = val.PreMeetingVotingDeadlineTime;
                    DateTime preMeetingVotingDeadlineDateTime = GetDateTimeFromDayTime(preMeetingVotingDeadlineDay
                                                                                       , preMeetingVotingDeadlineTime).ToLocalTime();

                    String   presentationDeadlineDay      = val.PresentationDeadlineDay;
                    DateTime presentationDeadlineTime     = val.PresentationDeadlineTime;
                    DateTime presentationDeadlineDateTime = GetDateTimeFromDayTime(presentationDeadlineDay
                                                                                   , presentationDeadlineTime).ToLocalTime();
                    #endregion

                    SelectedPresentationDay      = presentationDateTime.DayOfWeek.ToString();
                    SelectedPresentationDateTime = presentationDateTime;

                    ConfigPresentationDeadline     = (float)val.ConfigurablePresentationDeadline;
                    ConfigPreMeetingVotingDeadLine = (float)val.ConfigurablePreMeetingVotingDeadline;
                    isCalculated = true;

                    CalculateDeadlines(SelectedPresentationDay, Convert.ToDateTime(SelectedPresentationDateTime));
                }
                else
                {
                    Logging.LogMethodParameterNull(logger, methodNamespace, 1);
                }
            }
            catch (Exception ex)
            {
                Prompt.ShowDialog("Message: " + ex.Message + "\nStackTrace: " + Logging.StackTraceToString(ex), "Exception", MessageBoxButton.OK);
                Logging.LogException(logger, ex);
            }
            finally
            {
                Logging.LogEndMethod(logger, methodNamespace);
                BusyIndicatorNotification();
            }
        }
        /// <summary>
        /// SubmitCommand execution method
        /// </summary>
        /// <param name="param"></param>
        private void SubmitCommandMethod(object param)
        {
            MeetingConfigurationSchedule config = new MeetingConfigurationSchedule();
            DateTime presentationDateTime       = Convert.ToDateTime(SelectedPresentationDateTime);

            config.PresentationDay = GetDateTimeFromDayTime(presentationDateTime.DayOfWeek.ToString(), presentationDateTime, false)
                                     .ToUniversalTime().DayOfWeek.ToString();
            config.PresentationTime = GetDateTimeFromDayTime(presentationDateTime.DayOfWeek.ToString(), presentationDateTime, false)
                                      .ToUniversalTime();
            if ((config.PresentationTime - presentationDateTime) != (DateTime.UtcNow - DateTime.Now))
            {
                config.PresentationTime = (config.PresentationTime > presentationDateTime)
                    ? presentationDateTime.Add(DateTime.UtcNow - DateTime.Now)
                    : presentationDateTime.Add(DateTime.Now - DateTime.UtcNow);
            }
            config.PresentationTimeZone    = "UTC";//SelectedTimeZone;
            config.PresentationDeadlineDay = GetDateTimeFromDayTime(PresentationDeadline.DayOfWeek.ToString(), PresentationDeadline, false)
                                             .ToUniversalTime().DayOfWeek.ToString();
            config.PresentationDeadlineTime = GetDateTimeFromDayTime(PresentationDeadline.DayOfWeek.ToString(), PresentationDeadline, false)
                                              .ToUniversalTime();
            if ((config.PresentationDeadlineTime - PresentationDeadline) != (DateTime.UtcNow - DateTime.Now))
            {
                config.PresentationDeadlineTime = (config.PresentationDeadlineTime > PresentationDeadline)
                    ? PresentationDeadline.Add(DateTime.UtcNow - DateTime.Now)
                    : PresentationDeadline.Add(DateTime.Now - DateTime.UtcNow);
            }
            config.PreMeetingVotingDeadlineDay = GetDateTimeFromDayTime(PreMeetingVotingDeadline.DayOfWeek.ToString(), PreMeetingVotingDeadline, false)
                                                 .ToUniversalTime().DayOfWeek.ToString();
            config.PreMeetingVotingDeadlineTime = GetDateTimeFromDayTime(PreMeetingVotingDeadline.DayOfWeek.ToString(), PreMeetingVotingDeadline, false)
                                                  .ToUniversalTime();
            if ((config.PreMeetingVotingDeadlineTime - PreMeetingVotingDeadline) != (DateTime.UtcNow - DateTime.Now))
            {
                config.PreMeetingVotingDeadlineTime = (config.PreMeetingVotingDeadlineTime > PreMeetingVotingDeadline)
                    ? PreMeetingVotingDeadline.Add(DateTime.UtcNow - DateTime.Now)
                    : PreMeetingVotingDeadline.Add(DateTime.Now - DateTime.UtcNow);
            }
            config.CreatedBy  = "System";
            config.CreatedOn  = DateTime.UtcNow;
            config.ModifiedBy = "System";
            config.ModifiedOn = DateTime.UtcNow;

            if (dbInteractivity != null)
            {
                BusyIndicatorNotification(true, "Updating Investment Committee Meeting Schedule...");
                dbInteractivity.UpdateMeetingConfigSchedule(UserSession.SessionManager.SESSION.UserName, config, UpdateMeetingConfigCallbackMethod);
            }
        }