protected virtual async Task <PublishedItem> AddMarketItemAsync(VKExportItem exportItem) { HandleImages(exportItem); var uploadMainPhotoServer = await Api.Photo.GetMarketUploadServerAsync(GroupId, true, 0, 0, exportItem.Cover.Width); var uploadPhotosServer = await Api.Photo.GetMarketUploadServerAsync(GroupId); string mainPhotoResponseFile = await UploadImagesAsync(uploadMainPhotoServer.UploadUrl, new[] { exportItem.Cover }); var mainPhotoId = await Api.Photo.SaveMarketPhotoAsync(GroupId, mainPhotoResponseFile); var marketPhotos = exportItem.Photos.Skip(1).Take(4); var marketPhotoResponses = await UploadImagesAsync(uploadPhotosServer.UploadUrl, marketPhotos); var photoIds = await Api.Photo.SaveMarketPhotoAsync(GroupId, marketPhotoResponses); exportItem.Description += GetAttachmentsLinks(exportItem); var marketProductParams = new MarketProductParams() { OwnerId = -GroupId, Name = exportItem.Title, Description = exportItem.Description, CategoryId = GetCategoryId(exportItem.Subject.RealtyTypeId), Price = exportItem?.Subject?.Price ?? exportItem?.Subject.RentPrice ?? 1, MainPhotoId = (long)mainPhotoId.Single().Id, PhotoIds = photoIds.Select(i => (long)i.Id) }; marketProductParams.ItemId = await Api.Markets.AddAsync(marketProductParams); if (marketProductParams.ItemId is long id) { var albums = GetMarketAlbums(exportItem.Subject.RealtyTypeId, exportItem.Subject.OperationId); if (albums.Count() > 0) { await Api.Markets.AddToAlbumAsync(-GroupId, id, albums); } return(RiseItemPublishedEvent(exportItem, id)); } return(null); }
/// <summary> /// Редактирует товар. /// </summary> /// <param name="params"> Входные параметры запроса. </param> /// <returns> /// После успешного выполнения возвращает 1. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/market.edit /// </remarks> public Task <bool> EditAsync(MarketProductParams @params) { return(TypeHelper.TryInvokeMethodAsync(func: () => _vk.Markets.Edit(@params: @params))); }
/// <summary> /// Редактирует товар. /// </summary> /// <param name="params">Входные параметры запроса.</param> /// <returns> /// После успешного выполнения возвращает 1. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/market.edit /// </remarks> public async Task <bool> EditAsync(MarketProductParams @params) { return(await TypeHelper.TryInvokeMethodAsync(() => _vk.Markets.Edit(@params))); }
/// <summary> /// Добавляет новый товар. /// </summary> /// <param name="params"> Входные параметры запроса. </param> /// <returns> /// После успешного выполнения возвращает идентификатор добавленного товара. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/market.add /// </remarks> public Task <long> AddAsync(MarketProductParams @params) { return(TypeHelper.TryInvokeMethodAsync(func: () => _vk.Markets.Add(@params: @params))); }
/// <summary> /// Добавляет новый товар. /// </summary> /// <param name="params">Входные параметры запроса.</param> /// <returns> /// После успешного выполнения возвращает идентификатор добавленного товара. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/market.add /// </remarks> public async Task <long> AddAsync(MarketProductParams @params) { return(await TypeHelper.TryInvokeMethodAsync(() => _vk.Markets.Add(@params))); }
public bool Edit(MarketProductParams @params) { return(_vk.Call("market.edit", @params)); }
public long Add(MarketProductParams @params) { return(_vk.Call("market.add", @params)["market_item_id"]); }
/// <summary> /// Редактирует товар. /// </summary> /// <param name="params"> Входные параметры запроса. </param> /// <returns> /// После успешного выполнения возвращает 1. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/market.edit /// </remarks> public bool Edit(MarketProductParams @params) { return(_vk.Call(methodName: "market.edit", parameters: @params)); }
/// <summary> /// Добавляет новый товар. /// </summary> /// <param name="params"> Входные параметры запроса. </param> /// <returns> /// После успешного выполнения возвращает идентификатор добавленного товара. /// </returns> /// <remarks> /// Страница документации ВКонтакте http://vk.com/dev/market.add /// </remarks> public long Add(MarketProductParams @params) { return(_vk.Call(methodName: "market.add", parameters: @params)[key : "market_item_id"]); }