Ejemplo n.º 1
0
        /// <summary>
        /// 获取删除数据的日志信息
        /// </summary>
        /// <param name="entry">实体状态跟踪信息</param>
        /// <param name="entityInfo">实体数据信息</param>
        /// <returns>删除数据日志信息</returns>
        private static DataLog GetDeletedLog(ObjectStateEntry entry, IEntityInfo entityInfo)
        {
            DataLog log = new DataLog(entityInfo.ClassName, entityInfo.Name, OperatingType.Delete);

            for (int i = 0; i < entry.OriginalValues.FieldCount; i++)
            {
                string name = entry.OriginalValues.GetName(i);
                if (name == "Timestamp")
                {
                    continue;
                }
                object originalValue = entry.OriginalValues[i];
                if (name == "Id")
                {
                    log.EntityKey = originalValue.ToString();
                }
                Type        fieldType = entry.OriginalValues.GetFieldType(i);
                DataLogItem logItem   = new DataLogItem()
                {
                    Field         = name,
                    FieldName     = entityInfo.PropertyNames[name],
                    OriginalValue = originalValue == null ? null : originalValue.ToString(),
                    DataType      = fieldType == null ? null : fieldType.Name
                };
                log.LogItems.Add(logItem);
            }
            return(log);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 获取修改数据的日志信息
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        private static DataLog GetModifiedLog(ObjectStateEntry entry)
        {
            DataLog log = new DataLog()
            {
                EntityName  = entry.EntitySet.ElementType.Name,
                OperateType = OperatingType.Update
            };

            for (int i = 0; i < entry.CurrentValues.FieldCount; i++)
            {
                string name = entry.CurrentValues.GetName(i);
                if (name == "Timestamp")
                {
                    continue;
                }
                object currentValue  = entry.CurrentValues.GetValue(i);
                object originalValue = entry.OriginalValues[name];
                if (currentValue.Equals(originalValue))
                {
                    continue;
                }
                DataLogItem logItem = new DataLogItem()
                {
                    Field         = name,
                    NewValue      = currentValue == null ? null : currentValue.ToString(),
                    OriginalValue = originalValue == null ? null : originalValue.ToString()
                };
                log.LogItems.Add(logItem);
            }
            return(log);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取删除数据的日志信息
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        private static DataLog GetDeletedLog(ObjectStateEntry entry)
        {
            DataLog log = new DataLog()
            {
                EntityName  = entry.EntitySet.ElementType.Name,
                OperateType = OperatingType.Delete
            };

            for (int i = 0; i < entry.OriginalValues.FieldCount; i++)
            {
                string name = entry.OriginalValues.GetName(i);
                if (name == "Timestamp")
                {
                    continue;
                }
                object      originalValue = entry.OriginalValues[i];
                DataLogItem logItem       = new DataLogItem()
                {
                    Field         = name,
                    OriginalValue = originalValue == null ? null : originalValue.ToString()
                };
                log.LogItems.Add(logItem);
            }
            return(log);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取添加数据的日志信息
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        private static DataLog GetAddedLog(ObjectStateEntry entry)
        {
            DataLog log = new DataLog
            {
                EntityName  = entry.EntitySet.ElementType.Name,
                OperateType = OperatingType.Insert
            };

            for (int i = 0; i < entry.CurrentValues.FieldCount; i++)
            {
                string name = entry.CurrentValues.GetName(i);
                if (name == "Timestamp")
                {
                    continue;
                }
                object      value   = entry.CurrentValues.GetValue(i);
                DataLogItem logItem = new DataLogItem()
                {
                    Field    = name,
                    NewValue = value == null ? null : value.ToString()
                };
                log.LogItems.Add(logItem);
            }
            return(log);
        }
Ejemplo n.º 5
0
        private void AddDataLogItemToEnd(DataLogItem dli)
        {
            eventValue = new EventItemValues(dli.message);
            eventValue.CreateTimeStamp(dli);

            listOfMessages.Add(eventValue);
        }
Ejemplo n.º 6
0
 private JsonObject CreateJsonObject(DataLogItem dli)
 {
     jObject = new JsonObject();
     jObject.SetNamedValue("dev_code", JsonValue.CreateStringValue("Code01"));
     jObject.SetNamedValue("err_code", JsonValue.CreateStringValue("W-0808-CCuCAN-X2-CCU"));
     jObject.SetNamedValue("log_detail", JsonValue.CreateStringValue(dli.message));
     return(jObject);
 }
Ejemplo n.º 7
0
        public async void SendEvent(DataLogItem dli)
        {
            Uri resourceUri = Helpers.TryParseHttpUri("https://waiotservices.azurewebsites.net/Logs/SetLog");

            if (resourceUri == null)
            {
                return;
            }
            //  IHttpContent jsonContent = new HttpJsonContent(JsonValue.Parse("{\"dev_code\":\"Code06\", \"err_code\": \"6568 : 689\",\"log_detail\":\"fdfsd : fds\"}"));
            //      IHttpContent jsonContent = new HttpJsonContent(JsonValue.Parse(CreateStringJsonValue(dli)));
            IHttpContent jsonContent = new HttpJsonContent(JsonValue.Parse(CreateJsonObject(dli).Stringify()));

            try
            {
                HttpRequestResult result = await httpClient.TryPostAsync(resourceUri, jsonContent).AsTask(cts.Token);

                if (result.Succeeded)
                {
                }
            }
            catch (TaskCanceledException)
            {
            }
        }
Ejemplo n.º 8
0
 private string CreateStringJsonValue(DataLogItem dli)
 {
     json.log_detail   = dli.message;
     json_string_value = String.Concat("{\"dev_code\":\"Code01\", \"err_code\":\"W-0808-CCuCAN-X2-CCU\", \"log_detail\":\"", json.log_detail, "\"}");
     return(json_string_value);
 }