/// <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); } }