Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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();
        }