Beispiel #1
0
        public ActionResult State(int?stateID)
        {
            stateID     = Convert.ToInt32(RouteData.Values["id"]);
            displayData = data.Result("State", stateID);

            return(View(displayData));
        }
Beispiel #2
0
        public ActionResult City(int?cityID)
        {
            cityID      = Convert.ToInt32(RouteData.Values["id"]);
            displayData = data.Result("City", cityID);

            return(View(displayData));
        }
        public ActionResult State(int? stateID)
        {
            stateID = Convert.ToInt32(RouteData.Values["id"]);
            displayData = data.Result("State", stateID);

            return View(displayData);
        }
Beispiel #4
0
        public ActionResult Country(int?countryId)
        {
            countryId   = Convert.ToInt32(RouteData.Values["id"]);
            displayData = data.Result("Country", countryId);

            return(View(displayData));
        }
        public ActionResult Country(int? countryId)
        {
            countryId = Convert.ToInt32(RouteData.Values["id"]);
            displayData = data.Result("Country", countryId);

            return View(displayData);
        }
        public ActionResult City(int? cityID)
        {
            cityID = Convert.ToInt32(RouteData.Values["id"]);
            displayData = data.Result("City", cityID);

            return View(displayData);
        }
Beispiel #7
0
        public override int GetHashCode()
        {
            var hashCode = -763417269;

            hashCode = hashCode * -1521134295 + IpFrom.GetHashCode();
            hashCode = hashCode * -1521134295 + IpTo.GetHashCode();
            hashCode = hashCode * -1521134295 + LocationIndex.GetHashCode();
            return(hashCode);
        }
Beispiel #8
0
        public ActionResult GetLocations(string SearchString, string SearchOrder)
        {
            try
            {
                IEnumerable <REF_LOCATION_TB> locations    = _uow.Repository <REF_LOCATION_TB>().GetAll();
                List <LocationIndex>          locationList = new List <LocationIndex>();

                if (SearchString != "" && SearchString != "all")
                {
                    locations = locations.ToList().Where(u => u.SZ_DESCRIPTION.ToLower().Contains(SearchString.ToLower()));
                }

                if (SearchOrder == "Asc")
                {
                    locations = locations.ToList().OrderBy(u => u.SZ_LABEL).ThenBy(u => u.SZ_DESCRIPTION);
                }
                else
                {
                    locations = locations.ToList().OrderByDescending(u => u.SZ_LABEL).ThenBy(u => u.SZ_DESCRIPTION);
                }

                foreach (var location in locations)
                {
                    LocationIndex item = new LocationIndex()
                    {
                        EffectiveDate       = location.DT_EFFECTIVE == DateTime.MinValue || location.DT_EFFECTIVE == null ? "" : location.DT_EFFECTIVE.Value.ToShortDateString(),
                        ExpiredDate         = location.DT_EXPIRED == DateTime.MinValue || location.DT_EXPIRED == null ? "" : location.DT_EXPIRED.Value.ToShortDateString(),
                        LocationDescription = location.SZ_DESCRIPTION == null ? "" : location.SZ_DESCRIPTION,
                        LocationID          = location.N_LOCATION_SYSID,
                        SiteID      = location.SZ_LABEL == null ? "" : location.SZ_LABEL,
                        WaterBody   = location.REF_WATER_BODY_TB == null ? "" : location.REF_WATER_BODY_TB.SZ_DESCRIPTION,
                        WaterShed   = location.REF_LOCATION_TYPE_TB == null ? "" : location.REF_LOCATION_TYPE_TB.SZ_DESCRIPTION,
                        XCoordinate = location.N_GIS_X == null ? "" : location.N_GIS_X.ToString(),
                        YCoordinate = location.N_GIS_Y == null ? "" : location.N_GIS_Y.ToString(),
                        OrderUpDown = location.SZ_STREAM_NUMBER == null ? "" : location.SZ_STREAM_NUMBER
                    };
                    locationList.Add(item);
                }

                return(Json(locationList, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    ViewBag.Message = "Function: LocationController.GetLocations_GET\n\nError: " + ex.Message;
                }
                else
                {
                    ViewBag.Message = "Function: LocationController.GetLocations_GET\n\nError: " + (ex.Message + "\n\nInnerException: " + ex.InnerException.Message);
                };
                Session["ErrorMessage"] = ViewBag.Message;
                return(RedirectToAction("InternalServerError", "Error"));
            };
        }
Beispiel #9
0
#pragma warning restore CS0108 // 멤버가 상속된 멤버를 숨깁니다. new 키워드가 없습니다.


        public LocationSearchForm()
        {
            InitializeComponent();
            if (MainForm.SettingLocationIndex != null)
            {
                LocationIndex index = MainForm.SettingLocationIndex;
                AddressTextBox.Text = index.GetAddress;
                AddressLabel.Text   = index.GetAddress;
                LocationLabel.Text  = index.GetLatitude + ", " + index.GetLongitude;
            }
        }
Beispiel #10
0
        public LocationProvider(string filePath)
        {
            if (!File.Exists(filePath))
            {
                return;
            }

            using (var file = File.OpenText(filePath))
            {
                var serializer = new JsonSerializer();

                data = (LocationIndex)serializer.Deserialize(file, typeof(LocationIndex));
            }
        }
Beispiel #11
0
		public LocationProvider(string filePath)
		{
			if (!File.Exists(filePath))
			{
				return;
			}

			using (var file = File.OpenText(filePath))
			{
				var serializer = new JsonSerializer();

				data = (LocationIndex) serializer.Deserialize(file, typeof (LocationIndex));
			}
		}
Beispiel #12
0
        private void buttonOKESC_Click(object sender, EventArgs e)
        {
            try
            {
                if (sender.Equals(this.buttonESC))
                {
                    this.DialogResult = DialogResult.Cancel;
                }
                else
                {
                    if (this.fastUserGroups.SelectedObject != null)
                    {
                        int?accessLevel = this.locationAPIRepository.TotalSmartCodingEntities.GetAccessLevel(ContextAttributes.User.UserID, (int)TotalBase.Enums.GlobalEnums.NmvnTaskID.MonthEnd, 0).Single();
                        if (accessLevel != (int)TotalBase.Enums.GlobalEnums.AccessLevel.Editable)
                        {
                            throw new System.ArgumentException("Lỗi phân quyền", "Không có quyền truy cập dữ liệu");
                        }

                        LocationIndex locationIndex = (LocationIndex)this.fastUserGroups.SelectedObject;
                        if (locationIndex != null)
                        {
                            DateTime newLockedDate = sender.Equals(this.buttonForward) ? locationIndex.LockedDate.AddDays(1).AddMonths(1).AddDays(-1) : locationIndex.LockedDate.AddDays(-locationIndex.LockedDate.Day);
                            if (CustomMsgBox.Show(this, "The current closing date for " + locationIndex.Name + " is:" + "\r\n" + "\r\n" + locationIndex.LockedDate + "\r\n" + "\r\n" + "Are you sure you want to change " + (sender.Equals(this.buttonForward) ? "forward" : "backward") + " to:" + "\r\n" + "\r\n" + newLockedDate, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) == DialogResult.Yes)
                            {
                                this.locationAPIs.UpdateLockedDate(locationIndex.LocationID, locationIndex.Name, newLockedDate);
                                this.loadLocationIndexes();
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                ExceptionHandlers.ShowExceptionMessageBox(this, exception);
            }
        }
Beispiel #13
0
        public ActionResult Index()
        {
            displayData = data.Result("Index");

            return(View(displayData));
        }
Beispiel #14
0
 public override int GetHashCode()
 {
     return(MassIndex.GetHashCode() * LocationIndex.GetHashCode() * FlankingResidueIndex.GetHashCode() * Charge.GetHashCode());
 }
Beispiel #15
0
        private static async Task <(bool IsHandled, SkillResponse Response)> HandleSystemIntentsAsync(IntentRequest request,
                                                                                                      ILocaleSpeech locale,
                                                                                                      DocumentClient locationClient,
                                                                                                      DocumentClient gameClient,
                                                                                                      Session session,
                                                                                                      ILogger log)
        {
            SkillResponse response = null;

            switch (request.Intent.Name)
            {
            case IntentNames.Cancel:
            {
                var message = await locale.Get(LanguageKeys.Cancel, null);

                response = ResponseBuilder.Tell(message);
                break;
            }

            case IntentNames.Help:
            {
                var message = await locale.Get(LanguageKeys.Help, null);

                response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message));
                break;
            }

            case IntentNames.Stop:
            {
                var message = await locale.Get(LanguageKeys.Stop, null);

                response = ResponseBuilder.Tell(message);
                break;
            }

            case IntentNames.StartGame:
            {
                var message = await locale.Get(LanguageKeys.StartGame, null);

                await gameClient.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri("spyfalldb", "games"), new Game
                    {
                        id             = session.SessionId,
                        Players        = new Dictionary <string, double>(),
                        QuestionsAsked = new List <string>(),
                        Location       = "",
                        Cards          = new List <int>()
                    });

                response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message));
                break;
            }

            case IntentNames.AddPlayer:
            {
                var collectURI = UriFactory.CreateDocumentCollectionUri("spyfalldb", "games");
                int generated  = 0;
                try
                {
                    Game next = gameClient.CreateDocumentQuery <Game>(collectURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(session.SessionId)).AsEnumerable().FirstOrDefault();
                    next.Players.Add(request.Intent.Slots["player"].Value, 0.3);
                    Random rnd = new Random();
                    do
                    {
                        generated = rnd.Next(29) + 1;
                    } while (next.Cards.Contains(generated));
                    next.Cards.Add(generated);
                    await gameClient.UpsertDocumentAsync(collectURI, next);
                }
                catch (Exception e)
                {
                    log.LogError(e.ToString());
                    throw e;
                }
                log.LogInformation("Something very distinct");

                var message = "I have assigned you card number " + generated;
                response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message));
                break;
            }

            case IntentNames.PlayGame:
            {
                Random r = new Random();
                var    collectLocalURI = UriFactory.CreateDocumentCollectionUri("spyfalldb", "locations");
                var    collectURI      = UriFactory.CreateDocumentCollectionUri("spyfalldb", "games");
                try
                {
                    LocationIndex locIn = locationClient.CreateDocumentQuery <LocationIndex>(collectLocalURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals("index")).AsEnumerable().FirstOrDefault();
                    Cards cards = locationClient.CreateDocumentQuery <Cards>(collectLocalURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals("cards")).AsEnumerable().FirstOrDefault();
                    Game game = gameClient.CreateDocumentQuery <Game>(collectURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(session.SessionId)).AsEnumerable().FirstOrDefault();
                    log.LogInformation("ourLocal");
                    string ourLocal = locIn.locations[r.Next(locIn.locations.Count)];
                    game.Location = ourLocal;
                    int spy = r.Next(game.Cards.Count);
                    log.LogInformation("spy " + spy);
                    StringBuilder strbuilder = new StringBuilder("For every player, I will read out your card number and the symbol you should look for: ");
                    for (int i = 0; i < game.Cards.Count; i++)
                    {
                        var card   = game.Cards[i];
                        var symbol = "";
                        if (i == spy)
                        {
                            symbol = cards.symbols["Spy"][card];
                        }
                        else
                        {
                            symbol = cards.symbols[ourLocal][card];
                        }
                        strbuilder.Append("Card ").Append(card).Append(". ").Append(symbol).Append(". ");
                    }
                    log.LogInformation("For loop exit");
                    if (session.Attributes == null)
                    {
                        session.Attributes = new Dictionary <string, object>();
                    }
                    session.Attributes["questions"]      = 0;
                    session.Attributes["askedQuestion"]  = 0;
                    session.Attributes["expectedAnswer"] = 0;
                    session.Attributes["playerAsked"]    = -1;
                    await gameClient.UpsertDocumentAsync(collectURI, game);

                    var message = strbuilder.ToString();
                    response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                }
                catch (Exception e)
                {
                    log.LogError(e.ToString());
                    throw e;
                }
                break;
            }

            case IntentNames.StartQuestions:
            {
                try
                {
                    Random r = new Random();
                    var    collectLocalURI = UriFactory.CreateDocumentCollectionUri("spyfalldb", "locations");
                    var    collectURI      = UriFactory.CreateDocumentCollectionUri("spyfalldb", "games");
                    Game   game            = gameClient.CreateDocumentQuery <Game>(collectURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(session.SessionId)).AsEnumerable().FirstOrDefault();
                    Location location = locationClient.CreateDocumentQuery <Location>(collectLocalURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(game.Location)).AsEnumerable().FirstOrDefault();
                    if ((long)session.Attributes["questions"] == 0)
                    {
                        var playername = game.Players.First().Key;
                        var question   = location.questions.Keys.ElementAt(r.Next(location.questions.Count));
                        game.QuestionsAsked.Add(question);
                        session.Attributes["questions"]      = 1;
                        session.Attributes["playerAsked"]    = playername;
                        session.Attributes["playerNumAsked"] = 0;
                        session.Attributes["expectedAnswer"] = location.questions[question];
                        await gameClient.UpsertDocumentAsync(collectURI, game);

                        var message = playername + " " + question;
                        response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                    }
                }
                catch (Exception e)
                {
                    log.LogError(e.ToString());
                    throw e;
                }
                break;
            }

            case IntentNames.Yes:
            {
                try
                {
                    var  collectLocalURI = UriFactory.CreateDocumentCollectionUri("spyfalldb", "locations");
                    var  collectURI      = UriFactory.CreateDocumentCollectionUri("spyfalldb", "games");
                    Game game            = gameClient.CreateDocumentQuery <Game>(collectURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(session.SessionId)).AsEnumerable().FirstOrDefault();
                    Location location = locationClient.CreateDocumentQuery <Location>(collectLocalURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(game.Location)).AsEnumerable().FirstOrDefault();
                    if ((long)session.Attributes["questions"] != 0)
                    {
                        var player     = session.Attributes["playerAsked"] as string;
                        var difference = Math.Abs((long)session.Attributes["expectedAnswer"] - 1);
                        if (difference == 0)
                        {
                            game.Players[player] = Math.Max(game.Players[player] - .2, 0);
                        }
                        else if (difference == 1)
                        {
                            game.Players[player] = Math.Min(game.Players[player] + .3, 1);
                        }
                        else if (difference == 2)
                        {
                            game.Players[player] = Math.Min(game.Players[player] + .5, 1);
                        }
                    }

                    var    message  = "";
                    Random r        = new Random();
                    var    question = "";
                    do
                    {
                        question = location.questions.Keys.ElementAt(r.Next(location.questions.Count));
                    } while (game.QuestionsAsked.Contains(question));
                    game.QuestionsAsked.Add(question);
                    var questions = (long)session.Attributes["questions"] + 1;
                    if (questions > Math.Min(game.Players.Count * 3, 12))
                    {
                        message = "Hmmm Ok. I am ready to make my guess.";
                        session.Attributes["guess"] = game.Players.Aggregate((a, b) => a.Value > b.Value ? a : b).Key;
                        response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                        break;
                    }
                    session.Attributes["questions"] = questions;

                    long playerNum = (long)session.Attributes["playerNumAsked"];
                    if (++playerNum > game.Players.Count - 1)
                    {
                        playerNum = 0;
                    }
                    string playername = game.Players.Keys.ElementAt((int)playerNum);
                    session.Attributes["playerNumAsked"] = playerNum;
                    session.Attributes["playerAsked"]    = playername;
                    session.Attributes["expectedAnswer"] = location.questions[question];
                    await gameClient.UpsertDocumentAsync(collectURI, game);

                    message  = "Hmmm Ok. " + playername + ", " + question;
                    response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                }
                catch (Exception e)
                {
                    log.LogError(e.ToString());
                    throw e;
                }
                break;
            }

            case IntentNames.No:
            {
                try
                {
                    var  collectLocalURI = UriFactory.CreateDocumentCollectionUri("spyfalldb", "locations");
                    var  collectURI      = UriFactory.CreateDocumentCollectionUri("spyfalldb", "games");
                    Game game            = gameClient.CreateDocumentQuery <Game>(collectURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(session.SessionId)).AsEnumerable().FirstOrDefault();
                    Location location = locationClient.CreateDocumentQuery <Location>(collectLocalURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(game.Location)).AsEnumerable().FirstOrDefault();
                    if ((long)session.Attributes["questions"] != 0)
                    {
                        var player     = session.Attributes["playerAsked"] as string;
                        var difference = Math.Abs((long)session.Attributes["expectedAnswer"] + 1);
                        if (difference == 0)
                        {
                            game.Players[player] = Math.Max(game.Players[player] - .2, 0);
                        }
                        else if (difference == 1)
                        {
                            game.Players[player] = Math.Min(game.Players[player] + .3, 1);
                        }
                        else if (difference == 2)
                        {
                            game.Players[player] = Math.Min(game.Players[player] + .5, 1);
                        }
                    }

                    var    message  = "";
                    Random r        = new Random();
                    var    question = "";
                    do
                    {
                        question = location.questions.Keys.ElementAt(r.Next(location.questions.Count));
                    } while (game.QuestionsAsked.Contains(question));
                    game.QuestionsAsked.Add(question);
                    var questions = (long)session.Attributes["questions"] + 1;
                    if (questions > Math.Min(game.Players.Count * 3, 12))
                    {
                        message = "Hmmm Ok. I am ready to make my guess.";
                        session.Attributes["guess"] = game.Players.Aggregate((a, b) => a.Value > b.Value ? a : b).Key;
                        response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                        break;
                    }
                    session.Attributes["questions"] = questions;

                    long playerNum = (long)session.Attributes["playerNumAsked"];
                    if (++playerNum > game.Players.Count - 1)
                    {
                        playerNum = 0;
                    }
                    string playername = game.Players.Keys.ElementAt((int)playerNum);
                    session.Attributes["playerNumAsked"] = playerNum;
                    session.Attributes["playerAsked"]    = playername;
                    session.Attributes["expectedAnswer"] = location.questions[question];
                    await gameClient.UpsertDocumentAsync(collectURI, game);

                    message  = "Hmmm Ok. " + playername + ", " + question;
                    response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                }
                catch (Exception e)
                {
                    log.LogError(e.ToString());
                    throw e;
                }
                break;
            }

            case IntentNames.Maybe:
            {
                try
                {
                    var  collectLocalURI = UriFactory.CreateDocumentCollectionUri("spyfalldb", "locations");
                    var  collectURI      = UriFactory.CreateDocumentCollectionUri("spyfalldb", "games");
                    Game game            = gameClient.CreateDocumentQuery <Game>(collectURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(session.SessionId)).AsEnumerable().FirstOrDefault();
                    Location location = locationClient.CreateDocumentQuery <Location>(collectLocalURI, new FeedOptions {
                            EnableCrossPartitionQuery = true
                        }).Where(p => p.id.Equals(game.Location)).AsEnumerable().FirstOrDefault();
                    if ((long)session.Attributes["questions"] != 0)
                    {
                        var player     = session.Attributes["playerAsked"] as string;
                        var difference = Math.Abs((long)session.Attributes["expectedAnswer"] + 1);
                        if (difference == 1)
                        {
                            game.Players[player] = Math.Min(game.Players[player] + .4, 1);
                        }
                    }
                    var    message  = "";
                    Random r        = new Random();
                    var    question = "";
                    do
                    {
                        question = location.questions.Keys.ElementAt(r.Next(location.questions.Count));
                    } while (game.QuestionsAsked.Contains(question));
                    game.QuestionsAsked.Add(question);
                    var questions = (long)session.Attributes["questions"] + 1;
                    if (questions > Math.Min(game.Players.Count * 3, 12))
                    {
                        message = "Hmmm Ok. I am ready to make my guess.";
                        session.Attributes["guess"] = game.Players.Aggregate((a, b) => a.Value > b.Value ? a : b).Key;
                        response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                        break;
                    }
                    session.Attributes["questions"] = questions;

                    long playerNum = (long)session.Attributes["playerNumAsked"];
                    if (++playerNum > game.Players.Count - 1)
                    {
                        playerNum = 0;
                    }
                    string playername = game.Players.Keys.ElementAt((int)playerNum);
                    session.Attributes["playerNumAsked"] = playerNum;
                    session.Attributes["playerAsked"]    = playername;
                    session.Attributes["expectedAnswer"] = location.questions[question];
                    await gameClient.UpsertDocumentAsync(collectURI, game);

                    message  = "Hmmm Ok. " + playername + ", " + question;
                    response = ResponseBuilder.Ask(message, RepromptBuilder.Create(message), session);
                }
                catch (Exception e)
                {
                    log.LogError(e.ToString());
                    throw e;
                }
                break;
            }

            case IntentNames.Reveal:
            {
                string message = "I think the spy is " + session.Attributes["guess"] + ". Was I right? Thanks for playing! Goodbye.";
                response = ResponseBuilder.Tell(message, session);
                break;
            }
            }
            return(response != null, response);
        }
        public ActionResult Index()
        {
            displayData = data.Result("Index");

            return View(displayData);
        }