示例#1
0
        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);
        }
示例#2
0
 /// <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)));
 }
示例#3
0
 /// <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)));
 }
示例#4
0
 /// <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)));
 }
示例#5
0
 /// <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)));
 }
示例#6
0
 public bool Edit(MarketProductParams @params)
 {
     return(_vk.Call("market.edit", @params));
 }
示例#7
0
 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"]);
 }