public IActionResult Place(string place) { var viewModel = new ExistenceModel(); viewModel.KnownPlaces = _dataCache.GetAll <IPlace>(); var self = GetPersonaValues(); var persona = GetPersona(self.Item1); viewModel.CurrentPlace = GetPlace(place); if (persona == null) { viewModel.Errors = "You must choose a persona first."; } else { if (!persona.Position.Equals(viewModel.CurrentPlace) || !viewModel.CurrentPlace.PersonaInventory.Contains(persona)) { viewModel.CurrentPlace.MoveInto(persona); } viewModel.NewToYou = persona.AkashicRecord.Where(record => record.Timestamp >= self.Item3); viewModel.CurrentPersona = persona; } return(View("Place", viewModel)); }
public IActionResult Index() { var viewModel = new ExistenceModel(); viewModel.KnownPlaces = _dataCache.GetAll <IPlace>(); return(View(viewModel)); }
public IActionResult Input(string place, string input) { var viewModel = new ExistenceModel(); viewModel.KnownPlaces = _dataCache.GetAll <IPlace>(); var self = GetPersonaValues(); var persona = GetPersona(self.Item1); viewModel.CurrentPlace = GetPlace(place); if (persona == null) { viewModel.Errors = "You must choose a persona first."; } else { if (!persona.Position.Equals(viewModel.CurrentPlace)) { viewModel.CurrentPlace.MoveInto(persona); } viewModel.NewToYou = persona.AkashicRecord.Where(record => record.Timestamp >= self.Item3); viewModel.CurrentPersona = persona; try { viewModel.CurrentPlace.WriteTo(input, persona, self.Item2); } catch (Exception ex) { _logger.LogError(ex); viewModel.Errors = ex.Message; } } return(View("Place", viewModel)); }