public async Task OnPostAsync() { var user = await userManager.GetUserAsync(User); string mydir = Path.Combine(environment.WebRootPath, "imagefolder", user.Id); Directory.CreateDirectory(mydir); foreach (var file in Upload) { FileInfo f = new FileInfo(file.FileName); string originalFile = Path.Combine(mydir, file.FileName); using (var fileStream = new FileStream(originalFile, FileMode.Create)) { await file.CopyToAsync(fileStream); } using Bitmap b = new Bitmap(originalFile); string thumb = Helper.SaveResizedFile(b, originalFile, 200, 200); string resized = Helper.SaveResizedFile(b, originalFile, b.Width / 2, b.Height / 2); await AzureStorage.AddFilesAsync(originalFile, user.Id); await AzureStorage.AddFilesAsync(Path.Combine(mydir, thumb), user.Id); await AzureStorage.AddFilesAsync(Path.Combine(mydir, resized), user.Id); var myImages = new MyImages(ijpContext, user.Id); myImages.AddImageFromFile(originalFile, resized, thumb, user.Id); System.IO.File.Delete(file.FileName); } Directory.Delete(Path.Combine(environment.WebRootPath, "imagefolder", user.Id), true); }
public GalleryModel(IjpContext _ijpContext, IHttpContextAccessor _httpContextAccessor) { httpContextAccessor = _httpContextAccessor; string userId = httpContextAccessor.HttpContext.User.Claims.FirstOrDefault(c => c.Type.Contains("nameidentifier")).Value; myImages = new MyImages(_ijpContext, userId); }
public async Task <bool> GetMyFavorite() { if (IsBusy) { return(false); } IsBusy = true; try { if (IsFavoriteView) { var myimages = new List <DerpImage>(); var mylist = await derpibooru.GetDerpFavoriteImages(UserAPIKey); foreach (var image in mylist) { if (!MyImages.Any(i => i.Id == image.Id)) { image.IsFavorite = true; myimages.Add(image); } } foreach (var img in myimages) { await DerpImageDb.InsertDerpImageAsync(img); } await ExecuteLoadItemsCommand(); } } catch { } IsBusy = false; return(true); }
private void PictureSelected(MyImages myImages) { if (myImages == null) { return; } SelectedPicture = null; }
private async void DeletePicture(MyImages myImages) { bool decision = await pageService.DisplayAlert("Are you sure to delete this picture?", null, "Yes", "No"); if (decision) { Pictures.Remove(myImages); } }
private void GetPictures() { for (int i = 0; i < JPGPicture.ImagesString.Count; i++) { jPGPicture.Parse(JPGPicture.ImagesString[i]); MyImages myImages = new MyImages(); var stream = new MemoryStream(jPGPicture.ByteArrayListOfImages[i], 0, jPGPicture.ByteArrayListOfImages[i].Length); myImages.Picture = ImageSource.FromStream(() => stream); Pictures.Add(myImages); } }
public MyImages GetImages(string imagepath) { var folderPath = System.IO.Path.Combine(_env.WebRootPath, "images\\" + imagepath); var model = new MyImages() { Images = Directory.EnumerateFiles(folderPath, "*.j*").Select(filename => "~/images/" + imagepath + "/" + Path.GetFileName(filename)) }; return(model); }
public async Task <bool> GetMyFiles() { bool res = false; if (IsBusy) { return(false); } if (IsFavoriteView) { IsBusy = true; Downloading = true; ProgressBarIsVisible = true; ProgressBarHeight = 8; try { int index = 0; string directory = await fileService.CreateDirectory(""); var filelist = (await fileService.GetSubList("")).FindAll(i => i.Name.Contains("__")); var myimages = new List <DerpImage>(); foreach (var file in filelist) { var name = file.Name; if (name.Contains("__")) { int d; string id = name.Substring(0, name.IndexOf('_')); if (int.TryParse(id, out d)) { if (!MyImages.Any(i => i.Id == id)) { var image = await derpibooru.GetDerpImage(id); if (image != null) { image.IsFavorite = true; myimages.Add(image); } } } } index++; Progress2 = (float)index / filelist.Count; } foreach (var img in myimages) { await DerpImageDb.InsertDerpImageAsync(img); } res = true; } catch { res = false; } await ExecuteLoadItemsCommand(); Progress2 = 0; ProgressBarHeight = 0; ProgressBarIsVisible = false; Downloading = false; IsBusy = false; } return(res); }
public async Task DeleteFromMyImageListAsync(DerpImage img) { MyImages.Remove(img); await DerpImageDb.DeleteDerpImageAsync(img); }
public async Task AddToMyImageListAsync(DerpImage img) { MyImages.Insert(0, img); await DerpImageDb.InsertDerpImageAsync(img); }
/// <summary> /// 마지막 아이템이 나타나면 다음 페이지를 검색한다. /// 검색모드가 아니면 /// </summary> /// <param name="item"></param> public async void listViewItemAppearing(object item) { try { if (ThreadCount == 0 && Images.Count > 0 && !IsFavoriteView) { if ((Images.Count >= 49 && Images[Images.Count - 49] == item) || Images.Last() == item) { if (!endPage) { page++; List <DerpImage> tempimages = await derpibooru.GetSearchImage(MyImages.ToList(), fileList, UserAPIKey, searchmode?CurrentKey : "*", page, sortBy, sortOrder); if (tempimages.Count == 0) { endPage = true; page--; } else { foreach (DerpImage image in tempimages) { lock (lockobject) { if (!Images.Any(i => i.Id == image.Id)) { Images.Add(image); } } } } } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public MyContainer(IjpContext _ijpContext, string userId) { ijpContext = _ijpContext; myGalleries = new MyGalleries(ijpContext, userId); myImages = new MyImages(ijpContext, userId); }
private void SaveToMemory(MyImages myImages) { }