/// <summary>
        /// Attempts to get time zone from calendar of service of sourcing case entity.
        /// </summary>
        /// <returns>Time zone.</returns>
        protected TimeZoneInfo GetFromServiceCalendar()
        {
            var    calendarId             = TimeZoneSource.GetTypedColumnValue <Guid>(ServiceItemCalendarColumnName);
            var    esq                    = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Calendar");
            var    timeZoneCodeColumnName = esq.AddColumn("TimeZone.Code").Name;
            Entity calendar               = esq.GetEntity(UserConnection, calendarId);
            var    timeZoneCode           = calendar.GetTypedColumnValue <string>(timeZoneCodeColumnName);

            return(FindByCode(timeZoneCode));
        }
        /// <summary>
        /// Attempts to get time zone from service in service pact of sourcing case entity.
        /// </summary>
        /// <returns>Time zone.</returns>
        private TimeZoneInfo GetFromServiceInServicePact()
        {
            var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "ServiceInServicePact");
            EntitySchemaQueryColumn timeZoneCodeColumn = esq.AddColumn("Calendar.TimeZone.Code");

            esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal,
                                                           "ServiceItem", TimeZoneSource.GetTypedColumnValue <Guid>(ServiceItemIdColumnName)));
            esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal,
                                                           "ServicePact", TimeZoneSource.GetTypedColumnValue <Guid>(ServicePactIdColumnName)));
            Entity serviceInServicePact = esq.GetEntityCollection(UserConnection).First.Value;
            string code = serviceInServicePact.GetTypedColumnValue <string>(timeZoneCodeColumn.Name);

            return(FindByCode(code));
        }