Beispiel #1
2
 protected void Page_Load(object sender, EventArgs e)
 {
     Response.Clear();
     string body = string.Empty;
     using (StreamReader streamReader = new StreamReader(Request.InputStream))
     {
         body = streamReader.ReadToEnd();
     }
     JObject jObject = null;
     switch(Request.ContentType)
     {
         case "application/json":
             jObject = JsonConvert.DeserializeObject<JObject>(body);
             break;
         case "application/x-www-form-urlencoded":
             jObject = new JObject();
             foreach (string postField in Request.Form.AllKeys)
             {
                 jObject.AddFirst(new JProperty(postField, Request.Form[postField]));
             }
             break;
     }
     Response.Write(JsonConvert.SerializeObject(jObject));
     Response.ContentType = "application/json";
 }
Beispiel #2
1
        /// <summary>Writes the JSON representation of the object.</summary>
        /// <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter" /> to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The calling serializer.</param>
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var exception = value as Exception;
            if (exception != null)
            {
                var resolver = serializer.ContractResolver as DefaultContractResolver ?? _defaultContractResolver;

                var jObject = new JObject();
                jObject.Add(resolver.GetResolvedPropertyName("discriminator"), exception.GetType().Name);
                jObject.Add(resolver.GetResolvedPropertyName("Message"), exception.Message);
                jObject.Add(resolver.GetResolvedPropertyName("StackTrace"), _hideStackTrace ? "HIDDEN" : exception.StackTrace);
                jObject.Add(resolver.GetResolvedPropertyName("Source"), exception.Source);
                jObject.Add(resolver.GetResolvedPropertyName("InnerException"),
                    exception.InnerException != null ? JToken.FromObject(exception.InnerException, serializer) : null);

                foreach (var property in GetExceptionProperties(value.GetType()))
                {
                    var propertyValue = property.Key.GetValue(exception);
                    if (propertyValue != null)
                    {
                        jObject.AddFirst(new JProperty(resolver.GetResolvedPropertyName(property.Value),
                            JToken.FromObject(propertyValue, serializer)));
                    }
                }

                value = jObject;
            }

            serializer.Serialize(writer, value);
        }
Beispiel #3
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     var converters = serializer.Converters.Where(x => !(x is TypeInfoConverter)).ToArray();
     var jObject = new JObject();
     jObject.AddFirst(new JProperty("Type", value.GetType().FullName));
     jObject.Add(new JProperty("Data", JToken.FromObject(value)));
     jObject.WriteTo(writer, converters);
 }
        // DELETE: api/DataTablesPatient/5
        public void Delete(int id)
        {
            JObject reply = new JObject();
            try
            {

            }
            catch (Exception ex)
            {
                reply.AddFirst("DELETE Patients Error");
                reply.Add("Error", JToken.Parse(ex.Message.ToString()));
                reply.Add("Detailed error:", JToken.Parse(ex.InnerException.ToString()));
            }
            //return reply;
        }
        public static IOwinResponse WithODataEntityResponseBody(this IOwinResponse owinResponse, string baseAddress, 
            string entitySetName, JObject response, params JProperty[] additionalProperties)
        {
            if (response == null)
                return owinResponse;

            foreach (var additionalProperty in additionalProperties.Reverse())
            {
                response.AddFirst(additionalProperty);
            }

            response.AddOdataContext(baseAddress, entitySetName);

            owinResponse.Write(response.ToString());

            return owinResponse;
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            JToken t = JToken.FromObject(value);

            //			if (t.Type != JTokenType.Object)
            //			{
            //				t.WriteTo(writer);
            //			}
            //			else
            //			{
            JObject o = (JObject)t;

            var comp = new JObject();

            comp.AddFirst(new JProperty(value.GetType().Name, o));

            comp.WriteTo(writer);
            //			}
        }
        // GET: api/DataTableDrugs/5
        //[ResponseType(typeof(Drug))]
        public HttpResponseMessage GetDrugPerscription(string summary, char id, [FromUri] dataTableRequest thisRequest)
        {
            HttpResponseMessage reply = new HttpResponseMessage();

            try
            {

                reply.StatusCode = HttpStatusCode.OK;
            }
            catch (Exception ex)
            {
                string message = ex.Message.ToString();
                JObject errorJSON = new JObject();
                errorJSON.AddFirst("GET Drugs Error");
                errorJSON.Add("Error", JToken.Parse(ex.Message.ToString()));
                errorJSON.Add("Detailed error:", JToken.Parse(ex.InnerException.ToString()));

                reply.Content = new StringContent(errorJSON.ToString(), Encoding.Unicode);
                reply.StatusCode = HttpStatusCode.InternalServerError;
            }

            return reply;
        }
        // PUT: api/DataTablesPatient/5
        public void Put(int id, [FromBody]string value)
        {
            JObject reply = new JObject();
            try
            {

            }
            catch (Exception ex)
            {
                reply.AddFirst("PUT Patients Error");
                reply.Add("Error", JToken.Parse(ex.Message.ToString()));
                reply.Add("Detailed error:", JToken.Parse(ex.InnerException.ToString()));
            }
            //return reply;
        }
        private JObject SerializeEntity(Node subject, IEnumerable<EntityQuad> quads, Node graphName, bool nativeTypes, bool useRdfType, JObject listsInGraph)
        {
            var groups = from quad in quads
                         where quad.Subject == subject && quad.Graph == graphName
                         group quad.Object by quad.Predicate into g
                         select new { Predicate = (g.Key == RdfType ? useRdfType ? RdfType : Node.ForLiteral(Type) : g.Key), Objects = g }
                             into selection
                             orderby selection.Predicate
                             select selection;

            var result = new JObject();
            int i = 0;

            foreach (var objectGroup in groups)
            {
                JProperty res;
                if (objectGroup.Predicate == RdfType || objectGroup.Predicate == Node.ForLiteral(Type))
                {
                    if (useRdfType)
                    {
                        res = new JProperty(new JProperty(RdfType.ToString(), new JArray(from o in objectGroup.Objects select GetPropertyValue(o, nativeTypes, listsInGraph))));
                    }
                    else
                    {
                        res = new JProperty(new JProperty(Type, new JArray(from o in objectGroup.Objects select o.ToString())));
                    }
                }
                else
                {
                    res = new JProperty(new JProperty(objectGroup.Predicate.Uri.ToString(), new JArray(from o in objectGroup.Objects select GetPropertyValue(o, nativeTypes, listsInGraph))));
                }

                if (i == 0)
                {
                    result.AddFirst(new JProperty(Id, subject.IsBlank ? "_:" + subject.BlankNode : subject.ToString()));
                    i++;
                }

                result.Add(res);
            }

            return result;
        }
        /// <summary>
        /// Updates an existing resource.
        /// </summary>
        /// <param name="existingId">The existing resource identifier.</param>
        /// <param name="resourceDefinition">The resource definition.</param>
        /// <returns>The async <see cref="Task"/>.</returns>
        private async Task UpdateExistingResource(string existingId, JObject resourceDefinition)
        {
            _logProvider.LogMessage($"Updating existing {_resourceType}: '{_resourceId}' ");

            using (var client = HttpClientFactory.GetClient(_accountDetails, "application/json"))
            {
                resourceDefinition.AddFirst(new JProperty("id", existingId));
                RemovePropertiesUnsupportedForEdit(resourceDefinition);
                var url = GetApiUrl(_resourceApi.EditUrl);
                var content = new StringContent(resourceDefinition.ToString(), Encoding.UTF8, "application/json");
                content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); // CaaS bug is causing errors if charset is preset in the content-type header
                var response = await client.PostAsync(url, content);
                response.ThrowForHttpFailure();
                var responseBody = await response.Content.ReadAsStringAsync();
            }
        }
        //public string ToInsertSQL(bool replaceComma, string TableName)
        //{
        //  string sql = "";
        //  sql = string.Format("insert into {0} (POS_FECHA, EQP_ESN, COD_EVENTO,", TableName);
        //  sql = string.Format("{0} POSICION, POS_VELOCIDAD, POS_RUMBO, DATA) VALUES (", sql);
        //  sql = string.Format("{0} '{1}', '{2}'", sql, ReportDate.ToString("yyyy-MM-dd HH:mm:ss"), IMEI);
        //  if (replaceComma)
        //    sql = string.Format("{0}, {1}, PointFromText('POINT({2} {3})')", sql, EventCode, ReportPosition.Longitude.getValue().ToString().Replace(',', '.'), ReportPosition.Latitude.getValue().ToString().Replace(',', '.'));
        //  else
        //    sql = string.Format("{0}, {1}, PointFromText('POINT({2} {3})')", sql, EventCode, ReportPosition.Longitude.getValue(), ReportPosition.Latitude.getValue());
        //  if (replaceComma)
        //    sql = string.Format("{0}, {1}, {2}", sql, Speed.ToString().Replace(',', '.'), ReportPosition.Head.ToString().Replace(',', '.'));
        //  else
        //    sql = string.Format("{0}, {1}, {2}", sql, Speed, ReportPosition.Head);
        //  sql = string.Format("{0},'{1}')", sql, JsonConvert.SerializeObject(Data));
        //  return sql;
        //}
        public static bool TryParse(byte[] messageSBD, string imei, out IridiumExtremeBinaryReport report, string packetType)
        {
            int ival;
              double dval;

              report = new IridiumExtremeBinaryReport();
              try
              {
            if (packetType == "MO")
            {
              ICDMOPacket MOpacket = new ICDMOPacket();
              ICDMOPacket.TryParse(messageSBD, out MOpacket);
              ICDMOMessageType type = ICDMOMessageType.Unknown;
              if (MOpacket.rheader != null)
              {
            report.IMEI = imei;
            report.protocolType = (int)MOpacket.rheader.protocolType;
            report.protocolVersion = (int)MOpacket.rheader.ProtocolVersionNumber;
            report.EventCode = (int)MOpacket.rheader.MessageType;
            report.type_message = packetType;
            type = MOpacket.rheader.MessageType;
              }
              else
              {
            report.IMEI = imei;
            report.protocolType = (int)MOpacket.header.protocolType;
            report.protocolVersion = (int)MOpacket.header.ProtocolVersionNumber;
            report.EventCode = (int)MOpacket.header.MessageType;
            report.type_message = packetType;
            type = MOpacket.header.MessageType;
              }
              switch (type)
              {
            case ICDMOMessageType.SwitchOn:
              report.inbox = true;
              break;
            case ICDMOMessageType.AutomaticPositionReport:
              report.inbox = true;
              report.posiciones = true;
              break;
              }
              foreach (ICDDataBlock d in MOpacket.body.datablocks)
              {
            switch (d.BlockType)
            {
              case ICDBlockType.Location://automatic report position
                var location = (DataBlock_Location)d;
                report.ReportPosition = location.position;
                DateTime dt;
                try
                {
                 dt = new DateTime((int)location.GPSTimestampUTCYear, (int)location.GPSTimestampUTCMonth, (int)location.GPSTimestampUTCDay, (int)location.GPSTimestampUTCHours, (int)location.GPSTimestampUTCMinutes, (int)location.GPSTimestampUTCSeconds);
                 report.ReportDate = dt;
                }
                catch (Exception ex)
                {
                  report.ReportDate = new DateTime();//DateTime.Now;
                }
                report.Speed = 0;

                //string json = new JavaScriptSerializer().Serialize(location);
                //JObject json = JObject.FromObject(location);
                JObject json = new JObject(); ;
                json.Add("type", location.BlockType.ToString());
                json.Add("DateTime", report.ReportDate);
                json.Add("Position",location.position.Altitude);
                json.Add("VelocityDirection", location.VelocityDirection);
                json.Add("SpeedOverGround", location.SpeedOverGround);
                json.Add("CourseOverGround", location.CourseOverGround);
                json.Add("AltitudeSign", location.AltitudeSign);
                json.Add("Altitude", location.Altitude);
                json.Add("LatitudeAccuracyMeasurement", location.LatitudeAccuracyMeasurement);
                json.Add("LatitudeAccuracy", location.LatitudeAccuracy);
                json.Add("LongitudeAccuracyMeasurement", location.LongitudeAccuracyMeasurement);
                json.Add("LongitudeAccuracy", location.LongitudeAccuracy);
                json.Add("AltitudeAccuracyMeasurement", location.AltitudeAccuracyMeasurement);
                json.Add("AltitudeAccuracy", location.AltitudeAccuracy);
                json.Add("IsValid",1);
                report.Data.Add(json);

                //DataBlock_Location fromJson = new JavaScriptSerializer().Deserialize<DataBlock_Location>(json);
                //var loc = new JavaScriptSerializer().DeserializeObject(json);
                //JObject jobject = JObject.Parse(json);//magic

                //var name = new{ Datablock = new []{ new {type = location.BlockType.ToString()}}};
                //JObject namejson = JObject.FromObject(name);
                //string json2 = string.Format("Datablock: {0} {3} : {4}{1} {5}{2}", "{", location.BlockType.ToString(), "}", "'type'", "'", "'");
                //JObject namejson = JObject.Parse(json2);
                //string a = @"{'type':"+"'"+location.BlockType.ToString()+"'"+"}";
                break;
              case ICDBlockType.FreeText:
                var freetext = (DataBlock_FreeText)d;

                break;
              case ICDBlockType.Recipient:
                var recipient = (DataBlock_Recipient)d;

                break;
              case ICDBlockType.Synchronisation:
                var synchronisation = (DataBlock_Synchronisation)d;
                break;
              case ICDBlockType.DeviceIdentifier:
                var deviceIdentifier = (DataBlock_DeviceIdentifier)d;
                break;
              case ICDBlockType.Diagnostics:
                var diagnostics = (DataBlock_Diagnostics)d;
                break;
              case ICDBlockType.Sender:
                var sender = (DataBlock_Sender)d;
                break;
              case ICDBlockType.RegionCircle:
                var regionCircle = (DataBlock_Circle)d;
                break;
              case ICDBlockType.RegionPolygon:
                var regionPolygon = (DataBlock_Polygon)d;
                break;
              case ICDBlockType.PortalStatus:
                var portalStatus = (DataBlock_PortalStatus)d;
                break;
              case ICDBlockType.PhoneSettings:
                var phoneSettings = (DataBlock_PhoneSettings)d;
                //JObject jsonPhoneSettings = JObject.FromObject(phoneSettings);
                JObject jsonPhoneSettings = new JObject();
                jsonPhoneSettings.AddFirst(phoneSettings.BlockType.ToString());
                jsonPhoneSettings.First.AddAfterSelf(phoneSettings.ReportingFrecuencyRate);
                //jsonPhoneSettings.Add("type", phoneSettings.BlockType.ToString());
                jsonPhoneSettings.Add("ReportFrecuencyRate",phoneSettings.ReportingFrecuencyRate);
                jsonPhoneSettings.Add("type", phoneSettings.BlockType.ToString());
                 //jsonPhoneSettings.Add("Report",);

                report.Data.Add(jsonPhoneSettings);
                break;
              case ICDBlockType.GeofenceStatus:
                var geofenceStatus = (DataBlock_GeofenceStatus)d;
                break;
              case ICDBlockType.CannedMessagesHash:
                var cannedMessageHash = (DataBlock_CannedMessagesHash)d;
                JObject jsonCannedMessagesHash = JObject.FromObject(cannedMessageHash);
                jsonCannedMessagesHash.Add("type", cannedMessageHash.BlockType.ToString());
                report.Data.Add(jsonCannedMessagesHash);
                break;
              case ICDBlockType.PortalProviderInformation:
                var portalProviderInfo = (DataBlock_PortalProviderInformation)d;
                break;
              case ICDBlockType.ReducedSizeLocation:
                var reducedSizeLocation = (DataBlock_ReducedLocation)d;
                break;
              case ICDBlockType.CannedMessageIdentifier:
                var cannedMessageIdentifier = (DataBlock_CannedMessageIdentifier)d;
                break;
              case ICDBlockType.DistributionListHash:
                var distributionList = (DataBlock_DistributionListHash)d;
                break;
              case ICDBlockType.MessageIdentifier:
                var messageIdentifier = (DataBlock_MessageIdentifier)d;
                break;
              case ICDBlockType.FirmwareHardwareVersion:
                var firmwareHardware = (DataBlock_HandsetFwHwVersion)d;
                break;
            }

              }
            }
            else
            {
              ICDMTPacket MTpacket = new ICDMTPacket();
              ICDMTPacket.TryParse(messageSBD, out MTpacket);
              ICDMTMessageType type = ICDMTMessageType.Unknown;
              if (MTpacket.header != null)
              {
            report.IMEI = imei;//chequear si esta registrado
            report.protocolType = (int)MTpacket.header.protocolType;
            report.protocolVersion = (int)MTpacket.header.ProtocolVersionNumber;
            report.EventCode = (int)MTpacket.header.MessageType;
            type = MTpacket.header.MessageType;
              }
              else
              {
            report.IMEI = imei;
            report.protocolType = (int)MTpacket.header.protocolType;
            report.protocolVersion = (int)MTpacket.header.ProtocolVersionNumber;
            report.EventCode = (int)MTpacket.header.MessageType;
            type = MTpacket.header.MessageType;
              }

              report.sent = true;
            }
            return true;
              }
              catch (Exception ex) { }
              return false;
        }
    private static string ExportScene(string scenePath)
    {
        var rig3DAssetAttr = typeof(Rig3DAssetAttribute);

        // Get a list of all classes annotated with AssetTypeAttribute
        var assetTypes =
            from t in rig3DAssetAttr.Assembly.GetTypes()
            let attr = t.GetCustomAttributes(rig3DAssetAttr, false)
            where attr.Any()
            select new
            {
                Type = t,
                Attr = attr.First() as Rig3DAssetAttribute,
            };

        var assetMap = new Dictionary<Mesh, MeshData>();
        FindMeshes(ref assetMap);

        var json = new JObject();
        var counters = new JObject();

        // Add annotated types
        foreach (var assetTypeInfo in assetTypes)
        {
            var array = GetAssetArray(assetTypeInfo.Type, assetTypeInfo.Attr.Exports);
            json.Add(assetTypeInfo.Attr.Name, array);
            counters.Add(assetTypeInfo.Attr.Name, array.Count);
        }

        // Add transform collections
        Bounds? bounds = null;
        var collections = Object.FindObjectsOfType<Rig3DCollection>();
        foreach (var collection in collections)
        {
            // special case for static meshes!!!
            if (collection.IsStaticMesh)
            {
                AddCollectionToMeshArray(collection, ref assetMap);
                continue;
            }

            var data = GetCollectionArray(collection);
            json.Add(collection.CollectionName, data.Collection);
            counters.Add(collection.CollectionName, data.Collection.Count);

            if (collection.CalculateBounds)
            {
                if (!bounds.HasValue)
                {
                    bounds = data.Bounds;
                }
                else
                {
                    var b = bounds.Value;
                    b.Encapsulate(data.Bounds);
                    bounds = b;
                }
            }
        }

        // add static mesh groups to the json
        var staticMeshes = new JObject();
        var staticMeshCounter = 0;
        foreach (var meshData in assetMap.Values)
        {
            if (!meshData.Instances.Any())
            {
                continue;
            }

            staticMeshes.Add(meshData.Name, meshData.Instances);
            staticMeshCounter += meshData.Instances.Count;
        }

        json.Add("staticMeshes", staticMeshes);
        counters.Add("staticMeshes", staticMeshCounter);

        // add level general metadata
        var metadata = new JObject();

        if (bounds.HasValue)
        {
            var center = bounds.Value.center;
            var size = bounds.Value.size;

            center.z = 0;
            size.z = 1;

            metadata.Add("bounds", ToJToken(new Bounds(center, size)));

            var dbg = GameObject.Find("__Debug") ?? new GameObject("__Debug");
            var debugBounds = dbg.GetComponent<DebugBounds>() ?? dbg.AddComponent<DebugBounds>();

            debugBounds.bounds.center = center;
            debugBounds.bounds.size = size;
        }

        metadata.Add("count", counters);

        json.AddFirst(new JProperty("metadata", metadata));

        return json.ToString();
    }