Beispiel #1
0
        /*
         * public Event CreateEvent(TimeEventAppointment appt, Event patternEvnt)
         * {
         *  var e = new Event(patternEvnt.Session)
         *  {
         *      Type = (int) AppointmentType.Normal
         *  };
         *
         *
         *  var sourceEvent = appt.GetSourceObject(storage) as Event;
         *  if (sourceEvent != null) patternEvnt = sourceEvent;
         *
         *  e.IsAllDayEvent = patternEvnt.IsAllDayEvent;
         *  e.Start = appt.Start;
         *  e.End = appt.End;
         *  e.EducatorAssignment = patternEvnt.EducatorAssignment;
         *  e.LabelId = patternEvnt.LabelId;
         *  e.ContingentUnit = patternEvnt.ContingentUnit;
         *  e.Subject = patternEvnt.Subject;
         *  e.LocationsDisplayText = patternEvnt.LocationsDisplayText;
         *  e.EducatorsDisplayText = patternEvnt.EducatorsDisplayText;
         *  e.InternalDescription = patternEvnt.InternalDescription;
         *
         *  e.TermKind = patternEvnt.TermKind;
         *  e.Kind = patternEvnt.Kind;
         *  //e.ObjectType = evnt.ObjectType;
         *  e.StudyEventsTimeTableKind = patternEvnt.StudyEventsTimeTableKind;
         *  //e.RecurrenceInfo = evnt.RecurrenceInfo;
         *  e.ResourceIds = patternEvnt.ResourceIds;
         *  e.SubjectEnglish = patternEvnt.SubjectEnglish;
         *  e.LocationsDisplayTextEnglish = patternEvnt.LocationsDisplayTextEnglish;
         *  e.EducatorsDisplayTextEnglish = patternEvnt.EducatorsDisplayTextEnglish;
         *  e.EducatorsShortDisplayText = patternEvnt.EducatorsShortDisplayText;
         *  e.EducatorsShortDisplayTextEnglish = patternEvnt.EducatorsShortDisplayTextEnglish;
         *  e.PatternEvent = patternEvnt;
         *  e.Subkind = patternEvnt.Subkind;
         *  e.TimeTable = patternEvnt.TimeTable;
         *  e.MasterEvent = patternEvnt.MasterEvent;
         *  e.ResponsiblePersonContacts = patternEvnt.ResponsiblePersonContacts;
         *  e.IsComposite = patternEvnt.IsComposite;
         *  e.DescriptionLong = patternEvnt.DescriptionLong;
         *  e.XtracurImageAttachment = patternEvnt.XtracurImageAttachment;
         *  e.XtracurAddress = patternEvnt.XtracurAddress;
         *  //e.Id = evnt.Id;
         *  e.WebAvailability = patternEvnt.WebAvailability;
         *  e.IsCancelled = patternEvnt.IsCancelled;
         *  //e.IsImported = evnt.IsImported;
         *  //e.ImportOid = evnt.ImportOid;
         *  //e.ImportSession = evnt.ImportSession;
         *  e.LastChangeUser = patternEvnt.LastChangeUser;
         *  e.LastChangeDateTime = patternEvnt.LastChangeDateTime;
         *
         *  e.EducatorsWereReassigned = patternEvnt.EducatorsWereReassigned;
         *  e.LocationsWereChanged = patternEvnt.LocationsWereChanged;
         *  e.AssignedDateTime = patternEvnt.AssignedDateTime;
         *  e.WasScheduled = patternEvnt.WasScheduled;
         *  e.TimeWasChanged = patternEvnt.TimeWasChanged;
         *  e.DontShowEndTimeOnWeb = patternEvnt.DontShowEndTimeOnWeb;
         *
         *  return e;
         * }
         */

        public Event CreateEvent(TimeEventAppointment appt, Event sourceEvent)
        {
            Event patternEvnt;

            patternEvnt = sourceEvent;

            var e = new Event(sourceEvent.Session)
            {
                Type = (int)AppointmentType.Normal
            };

            e.IsAllDayEvent        = patternEvnt.IsAllDayEvent;
            e.Start                = appt.Start;
            e.End                  = appt.End;
            e.EducatorAssignment   = patternEvnt.EducatorAssignment;
            e.LabelId              = patternEvnt.LabelId;
            e.ContingentUnit       = patternEvnt.ContingentUnit;
            e.Subject              = patternEvnt.Subject;
            e.LocationsDisplayText = patternEvnt.LocationsDisplayText;
            e.EducatorsDisplayText = patternEvnt.EducatorsDisplayText;
            e.InternalDescription  = patternEvnt.InternalDescription;

            e.TermKind = patternEvnt.TermKind;
            e.Kind     = patternEvnt.Kind;
            //e.ObjectType = evnt.ObjectType;
            e.StudyEventsTimeTableKind = patternEvnt.StudyEventsTimeTableKind;
            //e.RecurrenceInfo = evnt.RecurrenceInfo;
            e.ResourceIds    = patternEvnt.ResourceIds;
            e.SubjectEnglish = patternEvnt.SubjectEnglish;
            e.LocationsDisplayTextEnglish      = patternEvnt.LocationsDisplayTextEnglish;
            e.EducatorsDisplayTextEnglish      = patternEvnt.EducatorsDisplayTextEnglish;
            e.EducatorsShortDisplayText        = patternEvnt.EducatorsShortDisplayText;
            e.EducatorsShortDisplayTextEnglish = patternEvnt.EducatorsShortDisplayTextEnglish;
            e.PatternEvent = patternEvnt;
            e.Subkind      = patternEvnt.Subkind;
            e.TimeTable    = patternEvnt.TimeTable;
            e.MasterEvent  = patternEvnt.MasterEvent;
            e.ResponsiblePersonContacts = patternEvnt.ResponsiblePersonContacts;
            e.IsComposite            = patternEvnt.IsComposite;
            e.DescriptionLong        = patternEvnt.DescriptionLong;
            e.XtracurImageAttachment = patternEvnt.XtracurImageAttachment;
            e.XtracurAddress         = patternEvnt.XtracurAddress;
            //e.Id = evnt.Id;
            e.WebAvailability = patternEvnt.WebAvailability;
            e.IsCancelled     = patternEvnt.IsCancelled;
            //e.IsImported = evnt.IsImported;
            //e.ImportOid = evnt.ImportOid;
            //e.ImportSession = evnt.ImportSession;
            e.LastChangeUser     = patternEvnt.LastChangeUser;
            e.LastChangeDateTime = patternEvnt.LastChangeDateTime;

            e.EducatorsWereReassigned = patternEvnt.EducatorsWereReassigned;
            e.LocationsWereChanged    = patternEvnt.LocationsWereChanged;
            e.AssignedDateTime        = patternEvnt.AssignedDateTime;
            e.WasScheduled            = patternEvnt.WasScheduled;
            e.TimeWasChanged          = patternEvnt.TimeWasChanged;
            e.DontShowEndTimeOnWeb    = patternEvnt.DontShowEndTimeOnWeb;

            return(e);
        }
Beispiel #2
0
                public StudyEventAggregateContingentsHelperKey(TimeEventAppointment appointment)
                {
                    StudyEventsTimeTableKindCode = appointment.StudyEventsTimeTableKind != null
                        ? appointment.StudyEventsTimeTableKind.Code
                        : StudyEventsTimeTableKindCode.Unknown;
                    Start                = appointment.Start;
                    End                  = appointment.End;
                    Subject              = appointment.GetSubjectByLanguage(CultureHelper.CurrentLanguage);
                    ShowCohort           = appointment.ShowCohort;
                    Cohort               = appointment.GetCohortDisplayTextByLanguage(CultureHelper.CurrentLanguage);
                    EventLocations       = appointment.EventLocations;
                    EducatorsDisplayText = appointment.GetEducatorsDisplayTextByLanguage(CultureHelper.CurrentLanguage);
                    DontShowEndTimeOnWeb = appointment.DontShowEndTimeOnWeb;
                    var language = CultureHelper.CurrentLanguage;

                    EducatorIds = appointment.EventLocations
                                  .SelectMany(el => el.Educators)
                                  .Select(le => le.EducatorEmployment != null
                            ? new Tuple <int, string>(
                                              le.EducatorEmployment.EducatorPerson.MasterPerson != null
                                    ? le.EducatorEmployment.EducatorPerson.MasterPerson.Id
                                    : -1,
                                              le.EducatorEmployment.GetDisplayNameByLanguageFormated(language))
                            : le.Educator != null
                                ? new Tuple <int, string>(le.Educator.Id, le.Educator.GetDisplayNameByLanguage(language))
                                : null)
                                  .ToArray();
                }
Beispiel #3
0
 public static StudyEventsTimeTableKindCode GetStudyEventsTimeTableKindCode(TimeEventAppointment appointment)
 {
     if (appointment.StudyEventsTimeTableKind != null)
     {
         return(appointment.StudyEventsTimeTableKind.Code);
     }
     return(StudyEventsTimeTableKindCode.Unknown);
 }
            public AggregatedContingentKey(TimeEventAppointment appointment, LanguageCode language)
            {
                this.language = language;

                StudyEventsTimeTableKindCode = appointment.StudyEventsTimeTableKind != null
                    ? appointment.StudyEventsTimeTableKind.Code
                    : StudyEventsTimeTableKindCode.Unknown;
                Start                = appointment.Start;
                End                  = appointment.End;
                Subject              = appointment.GetSubjectByLanguage(language);
                EventLocations       = appointment.EventLocations;
                EducatorsDisplayText = appointment.GetEducatorsDisplayTextByLanguage(language);
                DontShowEndTimeOnWeb = appointment.DontShowEndTimeOnWeb;
            }
Beispiel #5
0
        public static StudyEventIndexViewModel Build(TimeEventAppointment appointment)
        {
            var language = CultureHelper.CurrentLanguage;

            return(new StudyEventIndexViewModel
            {
                StudyEventsTimeTableKindCode = GetStudyEventsTimeTableKindCode(appointment),
                Start = appointment.Start,
                End = appointment.End,
                TimeIntervalString = appointment.GetTimeIntervalByLanguage(language),
                DateWithTimeIntervalString = appointment.DateTimeIntervalString,
                EducatorsDisplayText = appointment.GetEducatorsDisplayTextByLanguage(language),
                LocationsDisplayText = appointment.GetLocationsDisplayTextByLanguage(language),
                HasEducators = !String.IsNullOrEmpty(appointment.EducatorsDisplayText),
                Subject = appointment.GetSubjectByLanguage(language),
                EventLocations = appointment.EventLocations.Select(el => TimeTableStudyEventLocationViewModel.Build(el))
            });
        }
 public AggregatedContingent(TimeEventAppointment appointment, LanguageCode language)
 {
     Key         = new AggregatedContingentKey(appointment, language);
     Appointment = appointment;
 }
Beispiel #7
0
 public StudyEventAggregateContingentsHelper(TimeEventAppointment appointment)
 {
     Key         = new StudyEventAggregateContingentsHelperKey(appointment);
     Appointment = appointment;
 }
Beispiel #8
0
        public ExtracurEventContract Map(TimeEventAppointment a)
        {
            if (a == null)
            {
                throw new ArgumentNullException(nameof(a));
            }

            var subkind  = a.EventSubkind;
            var division = subkind?.Kind?.XtracurDivision;
            var viewKind = division?.WebViewKind ?? XtracurEventsWebViewKind.Week;
            var fromDate = viewKind == XtracurEventsWebViewKind.Month ?
                           DateTimeHelper.GetFirstDayOfMonth(a.Start.Date) :
                           DateTimeHelper.GetWeekStart(a.Start.Date);
            var fromDateString                   = DateTimeHelper.GetDateStringForWeb(fromDate);
            var withinTheSameDay                 = a.WithinTheSameDay;
            var dateWithTimeIntervalString       = a.ShortMonthDateTimeIntervalString;
            var fullDateWithTimeIntervalString   = a.DateTimeIntervalString;
            var timeIntervalString               = a.TimeIntervalString;
            var displayDateAndTimeIntervalString =
                viewKind == XtracurEventsWebViewKind.Month ?
                dateWithTimeIntervalString :
                withinTheSameDay ?
                timeIntervalString :
                dateWithTimeIntervalString;
            var recurrenceIndex = a.IsBase ? (int?)null : a.RecurrenceIndex;
            var divisionAlias   = division.Alias ?? string.Empty;

            return(new ExtracurEventContract
            {
                Id = a.IntegerId,
                Start = a.Start,
                End = a.End,
                Subject = a.Subject,
                TimeIntervalString = timeIntervalString,
                EducatorsDisplayText = a.EducatorsDisplayText,
                LocationsDisplayText = a.LocationsDisplayText,
                HasEducators = !string.IsNullOrEmpty(a.EducatorsDisplayText),
                IsCancelled = a.IsCancelled,
                ContingentUnitsDisplayTest = a.ContingentUnitName,
                IsStudy = a.IsStudy,
                AllDay = a.AllDay,
                WithinTheSameDay = withinTheSameDay,
                IsRecurrence = (recurrenceIndex != null),
                RecurrenceIndex = recurrenceIndex,
                FromDate = fromDate,
                FromDateString = fromDateString,
                DivisionAlias = divisionAlias,
                DateWithTimeIntervalString = dateWithTimeIntervalString,
                FullDateWithTimeIntervalString = fullDateWithTimeIntervalString,
                DisplayDateAndTimeIntervalString = displayDateAndTimeIntervalString,
                Year = a.Start.Year,
                ShowYear = false,
                ShowImmediate = false,
                IsShowImmediateHidden = false,
                HasAgenda = a.IsComposite && a.IsMaster,
                SubkindDisplayName = subkind?.Name ?? string.Empty,
                OrderIndex = subkind?.OrderIndex ?? 0,
                Location = addressLocationMapper.Map(a.FirstEventLocation, a.XtracurAddress),
                IsEmpty = false,
                ResponsiblePersonContacts = a.ResponsiblePersonContacts,
                IsPhys = a.EventKind?.Name == "Физкультура",
                ViewKind = (int)viewKind
            });
        }