private AdvertisementDetails GetCarAdvertisement(Advertisement advert) { AdvertisementDetails advertisementDetails = _unitOfWork.CarAdvertisements.All() .Where(x => x.AdvertisementFk == advert.Id) .Select(s => new AdvertisementDetails { Title = advert.Title, CreatedOn = advert.CreatedOn, Type = advert.Type, Category = advert.Category, Price = advert.Price, Description = advert.Description, Name = advert.User.Name, Location = advert.User.City, Phone = advert.User.Phone, Brand = s.Brand, Model = s.Model, Memory = string.Empty, Color = s.Color, Body = s.Body, Year = s.Year, KmTraveled = s.KmTraveled }).First(); return(advertisementDetails); }
public async Task <AdvertisementDetails> GetAdvertisementDetails(Guid advertUid) { Advertisement advert = await _unitOfWork.Advertisements.All() .FirstOrDefaultAsync(x => x.Uid == advertUid); AdvertisementDetails advertisementDetails = new AdvertisementDetails(); if (advert == null) { throw new NotFoundException(); } switch ((AdvertisementCategory)advert.Category) { case AdvertisementCategory.Mobile: advertisementDetails = GetMobileAdvertisement(advert); break; case AdvertisementCategory.Car: advertisementDetails = GetCarAdvertisement(advert); break; } advertisementDetails.Base64Images = _unitOfWork.AdvertisementImages.All() .Where(x => x.AdvertisementFk == advert.Id).ToList() .Select(x => Convert.ToBase64String(x.ImageContent)) .ToArray(); return(advertisementDetails); }
public void CreateNewAdvertisement(NewAdvertisement item) { db.BeginTransaction(); Console.WriteLine(item.Images); Advertisement ad = new Advertisement(); ad.SellingType = item.SellingType; ad.EmployeeId = item.EmployeeId; ad.CategoryId = item.CategoryId; ad.Expiry = item.Expiry; ad.PostedOn = item.PostedOn; ad.Status = "Active"; ad.DisplayPhone = item.DisplayPhone; int id = Convert.ToInt32(db.Insert("Advertisement", "Id", true, ad)); Images img; if (item.Images.Count > 0) { foreach (var image in item.Images) { img = new Images(); img.AdvertisementId = id; ImageBlob imageBlob = new ImageBlob(_configuration); img.Image = imageBlob.ImageUploading(image).Result; db.Insert("Images", "Id", true, img); } } else { img = new Images(); img.AdvertisementId = id; db.Insert("Images", "Id", true, img); } AdvertisementDetails adDetails; foreach (var field in item.Fields) { adDetails = new AdvertisementDetails(); adDetails.AdvertisementId = id; adDetails.FieldName = field.Key; adDetails.Value = field.Value; db.Insert("AdvertisementDetails", "Id", true, adDetails); } db.CompleteTransaction(); }
public async Task <AdvertisementDetails> GetAdvertisementDetails([FromUri] Guid advertUid) { AdvertisementDetails response = await _advertisementService.GetAdvertisementDetails(advertUid); return(response); }