Beispiel #1
0
        public bool IsLanguageStatus(Language language, LanguageStatus status)
        {
            LanguageStatus defaultStatus = LanguageStatus.First();

            if (Game.ImplementedLanguages == null)
            {
                return(status.Id == defaultStatus.Id);
            }

            ImplementedLanguage implementedLanguage = Game.ImplementedLanguages.FirstOrDefault(il => il.LanguageId == language.Id);

            if (implementedLanguage == null)
            {
                return(status.Id == defaultStatus.Id);
            }

            return(status.Id == implementedLanguage.LanguageStatusId);
        }
        protected void UpdateImplementedLanguages(DaedalicProductDatabaseContext context,
                                                  Dictionary <string, string> selectedLanguages, Game gameToUpdate)
        {
            var oldLanguages = gameToUpdate.ImplementedLanguages.ToList();
            var newLanguages = new List <ImplementedLanguage>();

            foreach (var language in context.Language.ToList())
            {
                string newLanguageStatus;

                if (!selectedLanguages.TryGetValue(language.Id.ToString(), out newLanguageStatus))
                {
                    continue;
                }

                int newLanguageStatusId;

                if (!int.TryParse(newLanguageStatus, out newLanguageStatusId))
                {
                    continue;
                }

                ImplementedLanguage implementedLanguage = gameToUpdate.ImplementedLanguages.FirstOrDefault(il => il.LanguageId == language.Id);

                if (implementedLanguage != null)
                {
                    implementedLanguage.LanguageStatusId = newLanguageStatusId;
                }
                else
                {
                    implementedLanguage = new ImplementedLanguage {
                        GameId = gameToUpdate.Id, LanguageId = language.Id, LanguageStatusId = newLanguageStatusId
                    };
                    gameToUpdate.ImplementedLanguages.Add(implementedLanguage);
                }
            }
        }