public void CreateNewAdvertisementItem(NewAdvertisementItemModel newAdvertisementModel, string userId) { var advertisementItemDescription = String.Concat(newAdvertisementModel.AdvertisementTitle, ' ', newAdvertisementModel.AdvertisementDescription); var categoryKeywords = this.keywordsService.RecognizeAndGetKeywordsDbModels<CategoryKeyword>(advertisementItemDescription); var colorKeywords = this.keywordsService.RecognizeAndGetKeywordsDbModels<ColorKeyword>(advertisementItemDescription); var model = new AdvertisementItem { UserId = userId, Title = newAdvertisementModel.AdvertisementTitle, Description = newAdvertisementModel.AdvertisementDescription, Price = newAdvertisementModel.AdvertisementPrice, IsActive = true, CreationDate = DateTime.Now, Latitude = newAdvertisementModel.Latitude, Longitude = newAdvertisementModel.Longitude, IsOnlyForSell = newAdvertisementModel.IsOnlyForSell, AdvertisementPhotos = CreateAdvertisementPhotosModels(newAdvertisementModel.PhotosPaths) }; foreach (var category in categoryKeywords) { model.CategoryKeywords.Add(new CategoryKeywordToAdvertisement { AdvertisementItem = model, CategoryKeyword = category }); } foreach (var color in colorKeywords) { model.ColorKeywords.Add(new ColorKeywordToAdvertisement { AdvertisementItem = model, ColorKeyword = color }); } this.advertisementItemDbService.SaveNewAdvertisementItem(model); }
private async Task<AdvertisementItemDetails> MapToDetailsViewModel(AdvertisementItem advertisementFromDb) { var viewModel = new AdvertisementItemDetails(); viewModel.Id = advertisementFromDb.Id; viewModel.Title = advertisementFromDb.Title; viewModel.Description = advertisementFromDb.Description; viewModel.Price = advertisementFromDb.Price; viewModel.IsOnlyForSell = advertisementFromDb.IsOnlyForSell; viewModel.SellerId = advertisementFromDb.UserId; viewModel.Photo = await this.advertisementItemPhotosService.GetPhotoInBytes(advertisementFromDb.AdvertisementPhotos.FirstOrDefault(p => !p.IsMainPhoto).PhotoPath); viewModel.IsSellerOnline = this.chatHubCacheService.IsUserConnected(advertisementFromDb.UserId); return viewModel; }
public void SaveNewAdvertisementItem(AdvertisementItem advertisementItem) { dbContext.AdvertisementItem.Add(advertisementItem); dbContext.Entry(advertisementItem).State = EntityState.Added; dbContext.SaveChanges(); }