예제 #1
0
        public static IEnumerable<KCVDBApiItem> CreateInstance(FatalErrorEventArgs fatalArgs)
        {
            var item = new KCVDBApiItem();
            item.Date = DateTime.Now;
            item.SendStatus = KCVDBSendStatus.FatalError;
            item.ErrorMessage = fatalArgs.Message;

            yield return item;
        }
예제 #2
0
        public static IEnumerable<KCVDBApiItem> CreateInstance(ApiDataSentEventArgs sentArgs)
        {
            if (sentArgs.ApiData == null || sentArgs.TrackingIds == null) yield break;

            var n = Math.Min(sentArgs.ApiData.Length, sentArgs.TrackingIds.Length);
            foreach (var i in Enumerable.Range(0, n))
            {
                var item = new KCVDBApiItem();

                if (sentArgs.ApiData[i] != null)
                {
                    item.Date = DateConverter(sentArgs.ApiData[i].HttpDateHeaderValue);
                    item.Url = sentArgs.ApiData[i].RequestUri;
                    item.HttpStatusCode = sentArgs.ApiData[i].StatusCode;
                }
                item.SendStatus = KCVDBSendStatus.Success;
                item.TrackingId = sentArgs.TrackingIds[i];
                if (i == n - 1)
                {
                    item.Size = sentArgs.SentApiData.PayloadByteCount / 1024;//最後のやつだけ値を与える、それ以外は0KBとみなす
                }

                yield return item;
            }
        }
예제 #3
0
        public static IEnumerable<KCVDBApiItem> CreateInstance(ApiDataSendingEventArgs sendingArgs)
        {
            if (sendingArgs.ApiData == null || sendingArgs.TrackingIds == null) yield break;

            foreach (var i in Enumerable.Range(0, Math.Min(sendingArgs.ApiData.Length, sendingArgs.TrackingIds.Length)))
            {
                var item = new KCVDBApiItem();

                if (sendingArgs.ApiData[i] != null)
                {
                    item.Date = DateConverter(sendingArgs.ApiData[i].HttpDateHeaderValue);
                    item.Url = sendingArgs.ApiData[i].RequestUri;
                    item.HttpStatusCode = sendingArgs.ApiData[i].StatusCode;
                }
                item.SendStatus = KCVDBSendStatus.Sending;
                item.TrackingId = sendingArgs.TrackingIds[i];

                yield return item;
            }
        }
예제 #4
0
        public static IEnumerable<KCVDBApiItem> CreateInstance(InternalErrorEventArgs internalErrorArgs)
        {
            if (internalErrorArgs.ApiData == null || internalErrorArgs.TrackingIds == null) yield break;

            foreach (var i in Enumerable.Range(0, Math.Min(internalErrorArgs.ApiData.Length, internalErrorArgs.TrackingIds.Length)))
            {
                var item = new KCVDBApiItem();

                if (internalErrorArgs.ApiData[i] != null)
                {
                    item.Date = DateConverter(internalErrorArgs.ApiData[i].HttpDateHeaderValue);
                    item.Url = internalErrorArgs.ApiData[i].RequestUri;
                    item.HttpStatusCode = internalErrorArgs.ApiData[i].StatusCode;
                }
                item.SendStatus = KCVDBSendStatus.InternalError;
                item.TrackingId = internalErrorArgs.TrackingIds[i];
                item.ErrorMessage = internalErrorArgs.Message;

                yield return item;
            }
        }