public void OpenDecFile(string fileName) { var reader = new DecReader(); var cards = reader.ReadFile(fileName); var sets = _cardDatabase.GetAllSets().ToDictionary(s => s.Ncode); foreach (var card in cards) { if (!string.IsNullOrWhiteSpace(card.CardId)) { var found = _cardDatabase.FindCardById(card.CardId); if (found != null) { card.SetCode = found.SetCode; if (sets.ContainsKey(card.SetCode)) { card.Set = sets[card.SetCode].Nname; } } } else { // TODO: Suche nach namen } } CurrentCards = cards.Select(c => new CardViewModel(c)).ToList(); }
private void InnerTestReadDeck(string fileName, int expectedNumberOfRows, MagicDeckCard expectedCard) { var notification = new Mock <INotificationCenter>(); var fullName = Path.Combine(TestContext.DeploymentDirectory, fileName); var target = new DecReader(notification.Object); var result = target.ReadFileContentDec(fullName); Assert.AreEqual(expectedNumberOfRows, result.Count(), "Wrong number of rows"); var found = result.Where(r => r.CardId == expectedCard.CardId && r.Name == expectedCard.Name && r.Quantity == expectedCard.Quantity && r.Location == expectedCard.Location); }
public ActionResult UploadDeck(HttpPostedFileBase photo) { var model = new DeckListModel(); try { string directory = Path.GetTempPath(); if (photo != null && photo.ContentLength > 0) { var fileName = Path.Combine(directory, Path.GetFileName(photo.FileName)); try { photo.SaveAs(fileName); var reader = new DecReader(); var result = reader.ReadFile(fileName); // TODO: Wrap result and add to model model.Cards = result; } finally { var info = new FileInfo(fileName); if (info.Exists) { info.Delete(); } } } } catch (Exception error) { } // return RedirectToAction("DeckList"); return(View(model)); }