public async Task <IActionResult> Index([FromForm] GalleryViewModel model) { var user = GetUser(); if (model == null) { model = new GalleryViewModel() { User = user, RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }; } if (!string.IsNullOrEmpty(user)) { var client = new ImageGalleryClient(new HttpClient(), ImageGalleryServiceUrl); var list = await client.GetNextImageListAsync(user, model.Continuation); if (list != null) { model.Images = list.Names; model.Continuation = list.ContinuationId; } } var result = View(model); result.ViewData["User"] = user; return(result); }
public async Task <IActionResult> DeleteAll() { var user = GetUser(); var client = new ImageGalleryClient(new HttpClient(), ImageGalleryServiceUrl); await client.DeleteAllImagesAsync(user); return(RedirectToAction("Index")); }
private async Task <bool> ValidateLoginAsync(string userName, string password) { var client = new ImageGalleryClient(new HttpClient(), ImageGalleryServiceUrl); var account = await client.GetAccountAsync(userName); if (account != null) { return(account.Password == password); } return(await client.CreateAccountAsync(new Account() { Id = userName, Name = userName, Password = password, Email = "*****@*****.**" })); }
public async Task <IActionResult> GetImage(string id) { var user = GetUser(); var client = new ImageGalleryClient(new HttpClient(), ImageGalleryServiceUrl); var image = await client.GetImageAsync(user, id); if (image == null) { return(this.NotFound()); } string ext = Path.GetExtension(image.Name).Trim('.'); if (ext == null) { ext = "png"; } // System.IO.File.WriteAllBytes($"c:\\temp\\test.{ext}", image.Contents); return(this.File(image.Contents, $"image/{ext}")); }
public async Task <ActionResult> Upload() { try { var files = Request.Form.Files; int fileCount = files.Count; if (fileCount > 0) { for (int i = 0; i < fileCount; i++) { var file = files[i]; MemoryStream buffer = new MemoryStream(); file.CopyTo(buffer); Image img = new Image() { Name = file.FileName, AccountId = GetUser(), Contents = buffer.ToArray() }; var client = new ImageGalleryClient(new HttpClient(), ImageGalleryServiceUrl); await client.CreateOrUpdateImageAsync(img); } } return(RedirectToAction("Index")); } catch (Exception ex) { return(View("Error", new ErrorViewModel() { RequestId = this.HttpContext.TraceIdentifier, Message = ex.Message, Trace = ex.StackTrace })); } }