コード例 #1
0
ファイル: ViewableDocument.cs プロジェクト: thoemmi/ravendb
        public ViewableDocument(JsonDocument inner)
        {
            this.inner = inner;

            Id           = inner.Metadata.IfPresent <string>("@id");
            LastModified = inner.LastModified ?? DateTime.MinValue;

            if (LastModified.Kind == DateTimeKind.Utc)
            {
                LastModified = LastModified.ToLocalTime();
            }

            ClrType        = inner.Metadata.IfPresent <string>(Constants.RavenClrType);
            CollectionType = DetermineCollectionType(inner.Metadata);
        }
コード例 #2
0
        public ViewableDocument(JsonDocument inner)
        {
            this.inner = inner;

            Id           = inner.Metadata.IfPresent <string>("@id");
            LastModified = inner.LastModified ?? DateTime.MinValue;
            if (LastModified.Kind == DateTimeKind.Utc)
            {
                LastModified = LastModified.ToLocalTime();
            }
            ClrType        = inner.Metadata.IfPresent <string>(Constants.RavenClrType);
            CollectionType = DetermineCollectionType(inner.Metadata);

            disposable = Observable.FromEventPattern <EventHandler, EventArgs>(e => DocumentSize.Current.SizeChanged += e, e => DocumentSize.Current.SizeChanged -= e)
                         .Throttle(TimeSpan.FromSeconds(0.5))
                         .Subscribe(_ => CalculateData());

            CalculateData();
            ToolTipText = ShortViewOfJson.GetContentDataWithMargin(inner.DataAsJson, 10);
        }
コード例 #3
0
        public void UpdateDocumentFromJsonDocument()
        {
            Id       = document.Key;
            JsonData = PrepareRawJsonString(document.DataAsJson);

            IsProjection = string.IsNullOrEmpty(Id) && (document.Metadata == null || document.Metadata.Any() == false);
            if (IsProjection)
            {
                return;
            }

            if (document.Metadata != null)
            {
                foreach (var property in document.Metadata.ToList())
                {
                    if (property.Key.StartsWith("@"))
                    {
                        document.Metadata.Remove(property.Key);
                    }
                }
            }

            JsonMetadata = PrepareRawJsonString(document.Metadata);

            metadata = ParseJsonToDictionary(document.Metadata);

            LastModified = document.LastModified ?? DateTime.MinValue;
            if (LastModified.Kind == DateTimeKind.Utc)
            {
                LastModified = LastModified.ToLocalTime();
            }
            CollectionType            = DocumentViewModel.DetermineCollectionType(document.Metadata);
            ClrType                   = metadata.IfPresent <string>(Constants.RavenClrType);
            Etag                      = document.Etag.ToString();
            NonAuthoritiveInformation = document.NonAuthoritiveInformation ?? false;
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                using (XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))
                {
                    Nullable <DateTime> ims = IfModifiedSince;

                    if (ims.HasValue)
                    {
                        if (ims.Value.ToUniversalTime() >= LastModified)
                        {
                            Response.StatusCode = 304;
                            return;
                        }
                    }

                    Response.Clear();
                    Response.Cache.SetLastModified(LastModified.ToLocalTime());
                    Response.Cache.SetCacheability(HttpCacheability.Private);
                    Response.ContentType = XmlContentType;
                    Response.AddHeader("Modified", LastModified.ToString("r"));
                    WriteXml(writer);
                    writer.Close();
                }

                Response.End();
            }
            catch (ThreadAbortException)
            {
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            }
        }
コード例 #5
0
        public string GetPresetDataString(ZoneInfo zoneInfo)
        {
            string str = "";

            for (uint i = 0u; i < Waymarks.Length; ++i)
            {
                str += GetWaymarkID(i) + ": " + Waymarks[i].GetWaymarkDataString() + "\r\n";
            }
            str += "\r\nZone ID: " + ZoneID.ToString() + " (" + zoneInfo.GetZoneName(ZoneID) + ")\r\nLast Modified: " + LastModified.ToLocalTime().ToString("G");
            return(str);
        }