Beispiel #1
0
 public void AddCarPicture(CarPicture carPicture)
 {
     TryDatabaseQuery(() => {
         db.CarPictures.Add(carPicture);
         db.SaveChanges();
     });
 }
Beispiel #2
0
        public CarAdd CreateCarAdd(CarAddInputModel model, string carId, string creatorId)
        {
            if (string.IsNullOrEmpty(carId))
            {
                throw new ArgumentException();
            }

            List <CarPicture> carPictures = new List <CarPicture>();

            foreach (var picture in model.Pictures)
            {
                if (!picture.FileName.EndsWith(PictureSuffix))
                {
                    throw new InvalidOperationException();
                }

                var pictureDirectory = Directory.GetCurrentDirectory() + Slash + Constants.RootDirectory + Slash + ImagesFolderName + Slash + CarImagesFolerName;

                var directory = Directory.CreateDirectory(pictureDirectory).ToString();

                var path = Path.Combine(directory, picture.FileName);

                using (var stream = new FileStream(path, FileMode.Create))
                {
                    picture.CopyTo(stream);
                }

                var carPicture = new CarPicture
                {
                    Url = Slash + ImagesFolderName + Slash + CarImagesFolerName + Slash + picture.FileName
                };

                carPictures.Add(carPicture);
            }

            var carAdd = new CarAdd
            {
                Title          = model.Title,
                CarId          = carId,
                AdditionalInfo = model.AdditionalInfo,
                CreatorId      = creatorId,
                Pictures       = carPictures
            };

            this.db.CarAdds.Add(carAdd);
            this.db.SaveChanges();

            return(carAdd);
        }