private void HandleEmptyEvents() { Models.Domain.Image image = new Models.Domain.Image() { Path = "img/establishments/none/empty.jpg" }; List <Models.Domain.Image> images = new List <Models.Domain.Image>(); images.Add(image); if (Establishment.Events.Count == 0) { Event e = new Event() { Name = "Er zijn nog geen events toegevoegd", Images = images }; Establishment.Events.Add(e); } }
private void HandleEmptyPromotions() { Models.Domain.Image image = new Models.Domain.Image() { Path = "img/establishments/none/empty.jpg" }; List <Models.Domain.Image> images = new List <Models.Domain.Image>(); images.Add(image); if (Establishment.Promotions.Count == 0) { Promotion p = new Promotion() { Name = "Er zijn nog geen promoties toegevoegd", Images = images }; Establishment.Promotions.Add(p); } }
public async Task UploadImage(ImageUploadViewModel model) { var categoryId = model.CategoryId ?? Guid.NewGuid(); if (!_categories.IsCategory(categoryId)) { await _categories.Add(categoryId, model.CategoryName); } var dbImage = new Models.Domain.Image() { Id = Guid.NewGuid(), CategoryId = categoryId, ContentType = model.Image.ContentType, FileName = model.Image.FileName, CreationDate = DateTime.Now }; Directory.CreateDirectory($"{_basePath}{dbImage.Id}"); using (var ms = new MemoryStream()) using (var rs = model.Image.OpenReadStream()) { await rs.CopyToAsync(ms); ms.Position = 0; using (var bImage = System.Drawing.Image.FromStream(ms)) { dbImage.Ratio = (double)bImage.Height / (double)bImage.Width; var thumbnail = GetThumbnail(bImage); ms.Position = 0; bImage.Save($"{_basePath}{dbImage.Id}/{dbImage.FileName}"); thumbnail.Save($"{_basePath}{dbImage.Id}/sm-{dbImage.FileName}"); } } var imagesCached = GetCache(); var categoryimagesCached = GetCategoryCache(categoryId); var vm = dbImage.ToViewModel(model.CategoryName); // update image cache if (imagesCached != null) { imagesCached.Add(vm); SetCache(imagesCached); } // update category image cache if (categoryimagesCached != null) { categoryimagesCached.Add(vm); SetCategoryCache(categoryId, categoryimagesCached); } await _dbContext.Images.AddAsync(dbImage); await _dbContext.SaveChangesAsync(); }