public async Task Add(Model.Advert advert) { advert.CreatedAt = DateTime.Now; await _carDealerContext.Adverts .Include(x => x.Car) .Include(x => x.Images) .FirstAsync(); await _carDealerContext.Adverts.AddAsync(advert); await _carDealerContext.SaveChangesAsync(); }
public async Task Update(Model.Advert entity) { var advertToUpdate = await _carDealerContext.Adverts .Include(x => x.Car) .SingleOrDefaultAsync(x => x.Id == entity.Id); if (advertToUpdate != null) { advertToUpdate.Price = entity.Price; advertToUpdate.Title = entity.Title; advertToUpdate.Status = entity.Status; advertToUpdate.Images = entity.Images; advertToUpdate.Description = entity.Description; advertToUpdate.UpdatedAt = DateTime.Now; advertToUpdate.Car = entity.Car; advertToUpdate.UserId = entity.UserId; if (entity.Car != null && advertToUpdate.Car != null) { entity.Car.Id = advertToUpdate.Car.Id; _carDealerContext.Entry(advertToUpdate.Car).CurrentValues.SetValues(entity.Car); } if (advertToUpdate.Images != null && entity.Images != null) { var imagesToUpdate = advertToUpdate.Images.ToList(); foreach (var image in imagesToUpdate) { foreach (var entityImage in entity.Images) { if (image.Id == entityImage.Id) { _carDealerContext.Entry(imagesToUpdate).CurrentValues.SetValues(entity.Images); } } } } await _carDealerContext.SaveChangesAsync(); } }