private void RestoreAssetFromTxt(byte[] data, ILibraryDataService libraryDataService) { using (var stream = new MemoryStream(data)) { var txtData = string.Empty; using (var reader = new StreamReader(stream)) { txtData = reader.ReadToEnd(); } if (txtData.Substring(1, 4) != "List") { var asset = RestoreFromTxt(txtData); libraryDataService.AddAsset(asset); libraryDataService.SaveChanges(); return; } var assets = RestoreAssetsListFromTxt(txtData); libraryDataService.AddAssetsRange(assets); libraryDataService.SaveChanges(); } }
private void RestoreAssetFromXml(byte[] data, ILibraryDataService libraryDataService) { using (var stream = new MemoryStream(data)) { var xmlDocument = XDocument.Load(stream); if (xmlDocument.Elements().FirstOrDefault().Name == null) { throw new Exception("Incorrect file format"); } if (xmlDocument.Elements().FirstOrDefault().Name != "List") { var asset = RestoreFromXml(xmlDocument.Elements().FirstOrDefault()); libraryDataService.AddAsset(asset); libraryDataService.SaveChanges(); return; } var assets = RestoreAssetsListFromXml(xmlDocument); libraryDataService.AddAssetsRange(assets); libraryDataService.SaveChanges(); } }
public virtual async Task <IActionResult> PostPut(string asset, IFormFileCollection file) { var libraryAsset = asset.DeserializeAsset <T>(); if (libraryAsset.ImageUrl == string.Empty) { libraryAsset.ImageUrl = "none"; } if (file.Count != 0) { if (libraryAsset.Id == 0 || libraryAsset.ImageUrl != "none") { _imageService.DeleteImage(_appEnvironment.WebRootPath, libraryAsset.ImageUrl); } libraryAsset.ImageUrl = _imageService.GenerateImageFileName(libraryAsset.Title, libraryAsset.Publisher, libraryAsset.Year.ToString()) + ".jpg"; using (var image = new MemoryStream()) { await file[0].CopyToAsync(image); await _imageService.UploadImage(image.ToArray(), libraryAsset.ImageUrl, _appEnvironment.WebRootPath); } } if (libraryAsset.Id > 0) { _libraryDataService.UpdateAsset(libraryAsset); _libraryDataService.SaveChanges(); return(Ok()); } _libraryDataService.AddAsset(libraryAsset); _libraryDataService.SaveChanges(); return(Ok()); }