Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
            }
        }
Exemple #3
0
        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());
        }
        public IActionResult Delete(int id)
        {
            var asset = _libraryDataService.GetAsset(id);

            if (asset == null)
            {
                return(NotFound());
            }

            if (asset.ImageUrl != "none")
            {
                _imageService.DeleteImage(_appEnvironment.WebRootPath, asset.ImageUrl);
            }

            _libraryDataService.RemoveAsset(asset);
            _libraryDataService.SaveChanges();
            return(Ok());
        }