コード例 #1
0
        // GET: api/Sensor
        public IEnumerable <string> Get()
        {
            PaisModels pais = new PaisModels();

            pais.Nome = "USA";
            sPais.Add(pais);
            return(new string[] { "value1", "value2" });
        }
コード例 #2
0
        private static async Task WriteEntityAsync(IResponse res, IEntity entity, HttpStatusCode status = HttpStatusCode.OK)
        {
            var req         = res.Context.Request;
            var accept      = req.Headers[HeaderNames.Accept] ?? MimeTypeNames.JsonSiren;
            var contentType = MediaSerializer.ParseMediaType(accept);

            var hasSelf = (
                from link in entity.OfType <Link>()
                from rel in link.OfType <Rel>()
                where rel.Name == Rel.Self.Name
                select link
                ).Any();

            if (!hasSelf)
            {
                var link = new Link();
                link.Href = req.RequestUri;
                link.Add(Rel.Self);
                entity.Add(link);
            }

            res.Status = status;
            res.Headers[HeaderNames.ContentType] = $"{contentType}; charset=UTF-8";

            var serializer = new MediaSerializer(contentType);

            serializer.Serialize(entity, res.Body);

            await Task.Yield();
        }
コード例 #3
0
        public async Task UpdateViewTest()
        {
            IEntity entity = await GetNewRoleAsync();

            var position = Cluster.GrainFactory.GetGrain <IComponent <PositionState> >(entity.GetPrimaryKey());
            var observer = Cluster.GrainFactory.GetGrain <IObserver>(entity.GetPrimaryKey());
            await position.SetData(new PositionState(100f, 100f));

            IEntity testEntity = await GetNewRoleAsync();

            await testEntity.Enable();

            await testEntity.Add <IComponent <PositionState> >();

            await Cluster.GrainFactory.GetGrain <IComponent <PositionState> >(testEntity.GetPrimaryKey())
            .SetData(new PositionState(100f, 100.5f));

            await Task.Delay(100);

            ViewChange viewChange = await observer.UpdateView();

            Assert.NotNull(viewChange.EntityChange);
            Assert.NotEmpty(viewChange.EntityChange);
            Assert.Contains(viewChange.EntityChange, e => e.MaxSpeed != null && e.Hp != null);
        }
コード例 #4
0
        public void Post([FromBody]  appSensor.Util.Sensor form)
        {
            char[] delimiterChars = { '.' };

            string[] arTag = form.Tag.Split(delimiterChars);
            if (arTag.Length < 3 || arTag.Length > 3)
            {
                throw new Exception("Tag inválida");
            }

            if (form.TimesTamp == null || form.TimesTamp == "")
            {
                throw new Exception("Tag inválida");
            }

            if (form.Valor == null || form.Valor == "")
            {
                throw new Exception("Tag inválida");
            }

            PaisModels pais;

            pais = sPais.Get(arTag[0]);
            if (pais == null)
            {
                pais = sPais.Add(new PaisModels(arTag[0]));
            }

            RegiaoModels regiao;

            regiao = sRegiao.Get(arTag[1]);
            if (regiao == null)
            {
                regiao = sRegiao.Add(new RegiaoModels(arTag[1]));
            }

            SensorModels sensor;

            sensor = sSensor.Get(arTag[2]);
            if (sensor == null)
            {
                sensor = sSensor.Add(new SensorModels(arTag[2], pais, regiao));
            }

            SensorValorModels sensorValorModels = new SensorValorModels
            {
                Timestamp    = (long)Convert.ToDouble(form.TimesTamp),
                Valor        = Convert.ToInt32(form.Valor),
                SensorModels = sensor
            };
            var retorno = sSensorValor.Add(sensorValorModels);
        }
コード例 #5
0
ファイル: _Schema.cs プロジェクト: arfbtwn/RiakTEF
        public static IEntity <T> Auto <T>(this IEntity <T> entity)
        {
            var mapper  = Default.Mapper;
            var grapher = Default.Grapher;

            foreach (var list in grapher.Graph(typeof(T)))
            {
                var path = new Path(list);
                var type = mapper.Map(path.Last.PropertyType);

                entity.Add(new Column(path, type));
            }
            return(entity);
        }
コード例 #6
0
        //This method is used to Create a new Person
        public ResponseResult PostPerson(Person p)
        {
            ResponseResult r      = new ResponseResult();
            int            result = 0;

            try
            {
                PersonData pd = new PersonData()
                {
                    //Converts the .Net objects to XML String
                    PersonXML   = HelperMethods.ObjectToXMLString <Person>(p),
                    CreatedDate = DateTime.Now
                };

                if (context.Add(pd) == 1)
                {
                    result = context.SaveChanges();
                    if (result == 1)
                    {
                        r.ReturnResult = pd;
                        r.Message      = "Inserted successfully.";
                        r.status       = ResponseStatus.Success;
                    }
                    else
                    {
                        r.ReturnResult = pd;
                        r.Message      = "Fail to insert.";
                        r.status       = ResponseStatus.Fail;
                    }
                }
                else
                {
                    r.ReturnResult = pd;
                    r.Message      = "Fail to insert.";
                    r.status       = ResponseStatus.Fail;
                }
            }
            catch (Exception ex)
            {
                r.ReturnResult = null;
                r.Message      = "Bad Request / Internal Server error.";
                r.status       = ResponseStatus.Error;

                LogFactory.Log(LogType.Error, LogMode.TextFile, $"{ex.Message} \r\n {new StackTrace(ex, true).GetFrame(0).GetFileLineNumber()}");
            }
            return(r);
        }
コード例 #7
0
ファイル: IEntityExtensions.cs プロジェクト: tuita520/CoreECS
        public static IEntity Replace <T>(this IEntity entity, T component) where T : IComponent
        {
            var componentTypeId = ComponentLookup <T> .Id;

            if (entity.HasComponent(componentTypeId))
            {
                var componentPoolIndex = entity.GetComponentPoolIndex(componentTypeId);
                ComponentLookup <T> .Array[componentPoolIndex] = component;
                entity.ReplaceComponent(componentTypeId);
            }
            else
            {
                entity.Add <T>(component);
            }

            return(entity);
        }
コード例 #8
0
        public async Task MoveTest()
        {
            IEntity entity = await GetNewRoleAsync();

            var position = Cluster.GrainFactory.GetGrain <IComponent <PositionState> >(entity.GetPrimaryKey());
            var observer = Cluster.GrainFactory.GetGrain <IObserver>(entity.GetPrimaryKey());
            await position.SetData(new PositionState(100f, 100f));

            IEntity testEntity = await GetNewRoleAsync();

            await testEntity.Enable();

            await testEntity.Add <IComponent <PositionState> >();

            await Cluster.GrainFactory.GetGrain <IComponent <PositionState> >(testEntity.GetPrimaryKey())
            .SetData(new PositionState(100f, 100.5f));

            await Task.Delay(100);

            Assert.NotEmpty(await observer.PopAllEntities());
        }
コード例 #9
0
ファイル: IEntity.cs プロジェクト: lcfcosta/SimCivil
 /// <summary>Adds the specified component.</summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="entity">The entity.</param>
 /// <param name="component">The component.</param>
 /// <returns></returns>
 public static async Task Add <T>(this IEntity entity, T component) where T : IComponent
 {
     await entity.Add <T>();
 }
コード例 #10
0
        public static IEntity Deserialize(this IEntity entity, string json, Type[] includedTypes = null, Type[] ignoredTypes = null)
        {
            var node = JSON.Parse(json);

            for (var i = 0; i < node["Types"].Count; i++)
            {
                var type = node ["Types"] [i].ToString().Replace("\"", "").GetTypeWithAssembly();

                if (type == null)
                {
                    Debug.LogWarning("Unable to resolve type " + node ["Types"] [i].ToString().Replace("\"", "") + "!");
                    continue;
                }

                if (includedTypes != null && !includedTypes.Contains(type))
                {
                    continue;
                }

                if (ignoredTypes != null && type.ShouldIgnore(ignoredTypes))
                {
                    continue;
                }

//				if (!entity.HasComponent (type))
//				{
//					Debug.LogWarning ("Type " + node ["Types"] [i].ToString ().Replace ("\"", "") + " not found on entity!");
//					continue;
//				}

                object component = null;

                if (typeof(Component).IsAssignableFrom(type))
                {
                    if (!entity.Has <View> ())
                    {
                        entity.Add(new View());
                        Debug.LogWarning("No view found for component " + type.ToString() + " !");
                    }

                    var viewComponent = entity.Get <View> ();
                    var index         = i;
                    viewComponent.Transforms.ObserveAdd().Select(x => x.Value).StartWith(viewComponent.Transforms).Subscribe(t =>
                    {
                        if (t.gameObject.GetComponent(type) != null)
                        {
                            component = t.gameObject.GetComponent(type);
                            JsonUtility.FromJsonOverwrite(node ["Components"] [index].ToString(), component);
                        }
                    }).AddTo(viewComponent.Disposer);
                }
                else
                {
                    if (!entity.Has(type))
                    {
                        component = (object)Activator.CreateInstance(type);
                    }
                    else
                    {
                        component = entity.Get(type);
                    }
                    JsonUtility.FromJsonOverwrite(node ["Components"] [i].ToString(), component);
                }
            }
            return(entity);
        }
コード例 #11
0
ファイル: _Schema.cs プロジェクト: arfbtwn/RiakTEF
 static T With <T>(this IEntity entity, T column) where T : IColumn
 {
     entity.Add(column);
     return(column);
 }