public TimeZoneDefinitionAdaptor(TimeZoneDefinitionType timeZoneDefinitionProxy) : base(timeZoneDefinitionProxy.Name, timeZoneDefinitionProxy.Id) { this.timeZoneDefinitionProxy = timeZoneDefinitionProxy; this.ConvertPeriods(); this.ConvertTransitions(); this.ConvertTransitionsGroups(); }
private ExTimeZone ConvertTimeZone(TimeZoneDefinitionType remoteTimeZone) { ExTimeZone result = ExTimeZone.UtcTimeZone; if (remoteTimeZone != null) { try { Globals.ConsistencyChecksTracer.TraceDebug <CalendarItemConverter, string, string>((long)this.GetHashCode(), "{0}: Converting TimeZone - Id: {1}, Name: {2}", this, remoteTimeZone.Id, remoteTimeZone.Name); result = new TimeZoneDefinitionAdaptor(remoteTimeZone).ExTimeZone; } catch (TimeZoneException) { } } return(result); }
private byte[] GetRequestSoapHeader(out int newContentLength) { ProxyToEwsEventHandler.StreamWrapper streamWrapper = new ProxyToEwsEventHandler.StreamWrapper(this.HttpContext.Request.InputStream); byte[] result; using (XmlReader xmlReader = XmlReader.Create(streamWrapper)) { if (!xmlReader.ReadToFollowing("Envelope", "http://schemas.xmlsoap.org/soap/envelope/")) { throw new OwaInvalidRequestException("Invalid XML format for this request"); } using (XmlWriter xmlWriter = XmlWriter.Create(streamWrapper.BufferStream, new XmlWriterSettings { OmitXmlDeclaration = true, Encoding = this.HttpContext.Request.ContentEncoding })) { xmlWriter.WriteStartElement("Header", "http://schemas.xmlsoap.org/soap/envelope/"); SerializedSecurityContextType securityContext = ProxyToEwsEventHandler.GetSecurityContext(base.OwaContext); RequestServerVersion requestServerVersion = new RequestServerVersion(); if ("12.1".Equals(this.HttpContext.Request.QueryString["rv"])) { requestServerVersion.Version = ExchangeVersionType.Exchange2007_SP1; } else { requestServerVersion.Version = ExchangeVersionType.Exchange2010_SP1; } TimeZoneDefinitionType timeZoneDefinitionType = new TimeZoneDefinitionType(); timeZoneDefinitionType.Id = base.OwaContext.TimeZoneId; TimeZoneContextType timeZoneContextType = new TimeZoneContextType(); timeZoneContextType.TimeZoneDefinition = timeZoneDefinitionType; ProxyToEwsEventHandler.securityContextSerializer.Serialize(xmlWriter, securityContext); ProxyToEwsEventHandler.ewsVersionSerializer.Serialize(xmlWriter, requestServerVersion); ProxyToEwsEventHandler.timeZoneContextSerializer.Serialize(xmlWriter, timeZoneContextType); xmlWriter.WriteEndElement(); xmlWriter.Close(); newContentLength = (int)((long)this.HttpContext.Request.ContentLength + streamWrapper.BufferStream.Position - this.HttpContext.Request.InputStream.Position); result = streamWrapper.BufferStream.ToArray(); } } return(result); }