public GameViewModel() { gameCopy = new GameCopy(); gameStats = new ResettableLazy <IEnumerable <GameItemGroupViewModel> >(() => GameItemGrouping.GroupItems(GameCopy.Items)); }
//! Metoda repozytorium AddOrderGameCopies. /*! * Zawiera elementy logiki dostępu do danych w celu dodania do bazy danych listy pozycji wybranego zamówienia. */ public List <GameCopy> AddOrderGameCopies(Order order, List <OrderGameCopyDto> orderGameCopies) { try { List <GameCopy> gameCopiesToUpdate = new List <GameCopy>(); foreach (OrderGameCopyDto orderGameCopy in orderGameCopies) { GameCopy o = _dbContext.GameCopies.FirstOrDefault(x => x.GameID == orderGameCopy.GameID && x.LocationID == orderGameCopy.LocationID && x.GameCopyStatusID == 1); if (o != null) { OrderGameCopy ogc = new OrderGameCopy() { GameCopyID = o.ID, OrderID = order.ID }; gameCopiesToUpdate.Add(o); this.Add(ogc); } else { var gameName = _dbContext.Games.FirstOrDefault(x => x.ID == orderGameCopy.GameID).Name; throw new Exception("No game copy is longer available for game " + gameName); } } return(gameCopiesToUpdate); } catch (Exception ex) { throw ex; } }
private static string BuildGamePath(GameCopy gameCopy) { var directoryName = $"{gameCopy.GameCopyId:D4}"; if (!string.IsNullOrWhiteSpace(gameCopy.MobyGamesSlug)) { directoryName += $"-{gameCopy.MobyGamesSlug}"; } return(Path.Combine(Application.Current.HomeDirectory(), directoryName)); }
public EditGameViewModel(Window parentWindow, GameCopy gameCopy) { this.gameCopy = gameCopy; ParentWindow = parentWindow; using var database = Application.Current.Database(); Publishers = new ObservableCollection <Publisher>(database.Publishers); Developers = new ObservableCollection <Developer>(database.Developers); if (!gameCopy.IsNew) { InitializeData(gameCopy); } FilteredDevelopers = new ListCollectionView(Developers) { CustomSort = new SelectedDevelopersComparer(() => GameDevelopers), Filter = obj => { if (obj is Developer developer) { return(developer.Name.IndexOf(DeveloperSearchTerm ?? string.Empty, StringComparison.InvariantCultureIgnoreCase) >= 0); } return(false); } }; FilteredLanguages = new ListCollectionView(Languages.ToList()) { CustomSort = new LanguageComparer(() => GameLanguages), Filter = obj => { if (obj is CultureInfo cultureInfo) { return(cultureInfo.EnglishName.IndexOf(LanguageSearchTerm ?? string.Empty, StringComparison.InvariantCultureIgnoreCase) >= 0); } return(false); } }; PropertyChanged += RefreshFilteredLanguages; PropertyChanged += RefreshFilteredDevelopers; }
private void InitializeData(GameCopy game) { GameDevelopers = new ObservableCollection <Developer>(game.Developers.Distinct()); GameLinks = new ObservableCollection <string>(game.Links.Distinct()); GamePlatforms = new ObservableCollection <Platform>(game.Platforms.Distinct()); GameLanguages = new ObservableCollection <CultureInfo>( game.TwoLetterIsoLanguageName.Distinct().Select(lang => CultureInfo.GetCultureInfo(lang))); GameItems = new ObservableCollection <ItemViewModel>(game.Items.Select(ItemViewModel.FromItem)); GameScreenshots = new ObservableCollection <ScreenshotViewModel>( game.Screenshots .Select(HomeDirectoryHelpers.ToAbsolutePath) .Select(ScreenshotViewModel.FromPath) ); GameCoverImage = game.CoverImage == null ? null : ScreenshotViewModel.FromPath(HomeDirectoryHelpers.ToAbsolutePath(game.CoverImage)); }
public async Task <Unit> Handle(AddGameCopy request, CancellationToken cancellationToken) { var tagsToUse = await GetTags(request, cancellationToken); var gameCopy = new GameCopy { PricePaid = request.PricePaid, PurchasedOn = request.PurchasedOn, GameId = request.GameId, Tags = new List <GameCopyTag>(tagsToUse.Select(t => new GameCopyTag() { Tag = t })) }; await _dataStore.GameCopies.AddAsync(gameCopy, cancellationToken); await _dataStore.SaveChangesAsync(cancellationToken); return(Unit.Value); }
private static void UpdateGame(GameCopy game, EditGameViewModel editGameViewModel) { game.Title = editGameViewModel.Title ?? ""; game.Sealed = editGameViewModel.GameSealed; game.MobyGamesSlug = editGameViewModel.GameMobyGamesSlug ?? ""; game.Platforms = editGameViewModel.GamePlatforms.Distinct().ToList(); if (editGameViewModel.GamePublisher.IsNew || editGameViewModel.GamePublisher.PublisherId != game.PublisherId) { game.Publisher = editGameViewModel.GamePublisher; } game.Links = editGameViewModel.GameLinks.Distinct().ToList(); game.Notes = editGameViewModel.GameNotes; game.TwoLetterIsoLanguageName = editGameViewModel.GameLanguages.Select(ci => ci.TwoLetterISOLanguageName).Distinct().ToList(); game.ReleaseDate = editGameViewModel.GameReleaseDate; UpdateGameCopyDevelopers(game.GameCopyDevelopers, editGameViewModel.GameDevelopers); UpdateGameItems(game.Items, editGameViewModel.GameItems); }
public GameViewModel(GameCopy gameCopy) : this() { GameCopy = gameCopy; }
// Start is called before the first frame update void Start() { Waypoints = GameObject.Find("Waypoints"); GameCopy = GameObject.Find("GameManager").GetComponent <GameCopy>(); }