コード例 #1
0
        public async Task <ActionResult> Edit(StormEvent stormevent)
        {
            var data = new StormEventViewModel();

            data.StormEvent = stormevent;
            try
            {
                if (await _dataHelper.UpdateStormEvent(JsonConvert.SerializeObject(stormevent)))
                {
                    data.Message = "Storm Event updated!";
                }
                else
                {
                    data.Message = "There was an error updating the data.";
                }
            }
            catch (Exception ex)
            {
                data.Message = ex.Message;
            }

            // Clear the cached data
            _cache.Remove("StormEvent" + stormevent.EventId);
            _cache.Remove("AllStormEvents");
            return(View(data));
        }
コード例 #2
0
        public async Task <List <StormEvent> > GetStormEvents(string userId, string searchText = null)
        {
            List <StormEvent> stormEvents = new List <StormEvent>();

            try
            {
                var userstates = await GetUserStates(userId);

                var kcsb = new KustoConnectionStringBuilder(_options.ADXCluster, _options.ADXDatabase)
                           .WithAadUserPromptAuthentication();

                using (var queryProvider = KustoClientFactory.CreateCslQueryProvider(kcsb))
                {
                    var query = "StormEvents| extend i = ingestion_time() | join(StormEvents | summarize i = max(ingestion_time()) by EventId) on $left.EventId == $right.EventId and $left.i ==$right.i | sort by StartTime desc | take 100 | where isnotnull(EventId)";

                    if (userstates != "")
                    {
                        query += " and State in (" + userstates + ") ";
                    }

                    if (searchText != null)
                    {
                        query += " and * has '" + searchText + "'";
                    }

                    // It is strongly recommended that each request has its own unique
                    // request identifier. This is mandatory for some scenarios (such as cancelling queries)
                    // and will make troubleshooting easier in others.
                    var clientRequestProperties = new ClientRequestProperties()
                    {
                        ClientRequestId = Guid.NewGuid().ToString()
                    };
                    using (var reader = queryProvider.ExecuteQuery(query, clientRequestProperties))
                    {
                        while (reader.Read())
                        {
                            StormEvent se = ReflectPropertyInfo.ReflectType <StormEvent>(reader);
                            stormEvents.Add(se);
                        }
                    }
                }
            }
            catch
            {
            }
            return(stormEvents);
        }
コード例 #3
0
ファイル: StormLogicManager.cs プロジェクト: fdu5526/balloon
    void DealStormEvent(ref StormEvent e )
    {
        if (e.finished)
            return;

        if (e.name == "dialog")
        {
            Dialog.Instance.ShowDialog(e.character, e.word, true);
        }

        if (e.name == "tornados")
        {
            foreach(ParticleSystem p in tornados)
                p.enableEmission = true;
        }

        if (e.name == "bird")
        {
            foreach(Bird b in birds)
                b.FlyTo();
        }

        if (e.name == "shake")
        {
            Camera.main.transform.DOShakeRotation(10f , 15f );
        }
        if (e.name == "end")
        {
            Camera.main.transform.DOShakeRotation(10f , 45f );
            blackEnd.Do();
        }

        if (e.name == "turn")
        {
            Application.LoadLevel("HappyMask");
        }

        if (e.name == "begin")
        {
            Debug.Log("Begin Storm");
            moveAnimator.SetTrigger("begin");
            holdBalloon.gravityScale = balloonGravity;
        }

        e.finished = true;
    }
コード例 #4
0
        public Event getEvent()
        {
            if (observersList[0].getRadarStatus())
            {
                notify();
            }

            Event returnedEvent = null;

            int div = Int32.Parse(level);

            if (goodEventsCount == 0 && badEventsCount == 0)
            {
                int ev = rnd.Next(1, 6);
                switch (ev)
                {
                case 1:
                    returnedEvent = new FindPetEvent();
                    break;

                case 2:
                    returnedEvent = new SunnyDayEvent();
                    break;

                case 3:
                    returnedEvent = new ColdEvent();
                    break;

                case 4:
                    returnedEvent = new StormEvent();
                    break;

                case 5:
                    returnedEvent = new FallEvent();
                    break;

                case 6:
                    returnedEvent = new FindSupplyEvent();
                    break;
                }
                return(returnedEvent);
            }
            else
            {
                if (goodEventsCount < (div * 50 / 100))
                {
                    int ev;

                    if (observersList[0].getRadarStatus())
                    {
                        ev = rnd.Next(2, 3);
                    }
                    else
                    {
                        ev = rnd.Next(1, 3);
                    }

                    switch (ev)
                    {
                    case 1:
                        returnedEvent = new FindPetEvent();
                        break;

                    case 2:
                        returnedEvent = new SunnyDayEvent();
                        break;

                    case 3:
                        returnedEvent = new FindSupplyEvent();
                        break;
                    }
                    goodEventsCount++;
                    return(returnedEvent);
                }
                else
                {
                    int ev = rnd.Next(1, 3);
                    switch (ev)
                    {
                    case 1:
                        returnedEvent = new ColdEvent();
                        break;

                    case 2:
                        returnedEvent = new StormEvent();
                        break;

                    case 3:
                        returnedEvent = new FallEvent();
                        break;
                    }
                    badEventsCount++;
                    return(returnedEvent);
                }
            }
        }
コード例 #5
0
ファイル: StormLogicManager.cs プロジェクト: fdu5526/balloon
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.G) )
     {
         StormEvent e = new StormEvent();
         e.name = "begin";
         DealStormEvent(ref e);
         isGo = true;
         blackBegin.Do();
     }
 }