コード例 #1
0
        public async Task CreateAsync(CreateAutopartDTO autopart, string userId, string imagePath)
        {
            var autopartEntity = new Autopart
            {
                Name        = autopart.Name,
                Price       = autopart.Price,
                Description = autopart.Description,
                CategoryId  = autopart.CategoryId,
                ConditionId = autopart.ConditionId,
                OwnerId     = userId,
            };

            var carEntity = this.carRepository.All()
                            .FirstOrDefault(x =>
                                            x.ModelId == autopart.ModelId &&
                                            x.CarTypeId == autopart.CarTypeId &&
                                            x.MakeYear == autopart.MakeYear);

            if (carEntity == null)
            {
                carEntity = new Car
                {
                    ModelId   = autopart.ModelId,
                    CarTypeId = autopart.CarTypeId,
                    MakeYear  = autopart.MakeYear,
                };
            }

            autopartEntity.Car = carEntity;

            foreach (var image in autopart.Images)
            {
                var extension = this.imageService.GetExtension(image.FileName);

                var dbImage = new Image
                {
                    OwnerId   = userId,
                    Extension = extension,
                };

                autopartEntity.Images.Add(dbImage);
                await this.imageService.Save(image, imagePath, dbImage.Id);
            }

            await this.autopartRepository.AddAsync(autopartEntity);

            await this.autopartRepository.SaveChangesAsync();
        }
コード例 #2
0
        public void Create(CreateAutopartDTO autopart)
        {
            if (autopart == null)
            {
                return;
            }

            var autopartEntity = new Autopart
            {
                Name         = autopart.Name,
                CarModelId   = autopart.ModelId,
                CategoryId   = autopart.CategoryId,
                DateAdded    = DateTime.UtcNow,
                ModifiedDate = DateTime.UtcNow,
                Price        = autopart.Price
            };

            autopartRepository.Add(autopartEntity);
            autopartRepository.SaveChanges();
        }