public async Task <ActionResult <Listing> > CreateListing([FromForm] ListingCreateVM vm)
        {
            long size = vm.Images.Sum(f => f.Length);
            var  city = await _context.Cities.SingleOrDefaultAsync(x => x.Name == vm.CityName);

            var user = await _context.Users.SingleOrDefaultAsync(x => x.Id == vm.UserId);

            var category = await _context.Categories.SingleOrDefaultAsync(x => x.CategoryName == vm.CategoryName);

            var listing = new Listing(vm, city, user, category);
            await _context.AddAsync(listing);

            foreach (var image in vm.Images)
            {
                if (image.Length > 0)
                {
                    using (var memoryStream = new MemoryStream())
                    {
                        await image.CopyToAsync(memoryStream);

                        var arrImg = memoryStream.ToArray();
                        var img    = new ListingImage(arrImg, listing);
                        //listing.ListingImages.Add(img);
                        await _context.AddAsync(img);
                    }
                }
            }

            await _context.SaveChangesAsync();

            return(Ok(new { count = vm.Images.Count, size }));
        }
 public Listing(ListingCreateVM vm, City city, User user, ICollection <ListingImage> listingImages)
 {
     //UserId = vm.UserId;
     Title         = vm.Title;
     Description   = vm.Description;
     Price         = vm.Price;
     Description   = vm.Description;
     City          = city;
     User          = user;
     ListingImages = listingImages;
 }
 public Listing(ListingCreateVM vm, City city, User user, Category category)
 {
     //UserId = vm.UserId;
     Title       = vm.Title;
     Description = vm.Description;
     Price       = vm.Price;
     Description = vm.Description;
     City        = city;
     User        = user;
     Category    = category;
 }
Exemple #4
0
 public Task <Guid> CreateListing(ListingCreateVM vm)
 {
     throw new NotImplementedException();
 }