示例#1
0
        public async Task <ServiceResult> CreateBanner(SponsorBannerEditViewModel model)
        {
            var user = await authService.GetCurrentUser();

            if (!user.IsSuccess)
            {
                return(Error(user.ErrorMessage));
            }
            ServiceResult <FileModel> file = null;

            if (model.File == null)
            {
                return(Error("Вы не выбрали файл"));
            }

            file = await fileService.SaveFile(model.File);

            if (!file.IsSuccess)
            {
                return(Error(file.ErrorMessage));
            }

            var banner = new SponsorBanner
            {
                FileId = file.Data.Id,
                Name   = model.Name,
                Url    = model.Url
            };

            dataContext.Add(banner);
            await dataContext.SaveChangesAsync();

            return(Success((object)banner.Id));
        }
示例#2
0
        public async Task <SponsorBanner> GetSponsorBannerProduct(int ProductCategoryId, int ProductTypeId, int?Top)
        {
            var output = new SponsorBanner();

            //Data Sponsor
            var lstSponsor = await _repoWrapper.Advertising.GetSponsorProduct(ProductCategoryId, ProductTypeId, Top ?? 10);

            output.DataSponsor = _mapper.Map <List <ProductSearchResultDTO> >(lstSponsor);


            //Data Banner
            int ParentCateId = -1;
            var productCate  = await _repoWrapper.ProductCategory.FirstOrDefaultAsync(p => p.ProductCategory_ID == ProductCategoryId);

            if (productCate != null)
            {
                ParentCateId = productCate.Parent_ID ?? -1;
            }

            var lstBanner = await _repoWrapper.Advertising.GetBannerAdvertisingInChildPage(ProductTypeId, ParentCateId, ProductCategoryId, 12);

            if (lstBanner == null || lstBanner.Count == 0) // If null get default
            {
                lstBanner = await _repoWrapper.Advertising.GetBannerAdvertisingInChildPage(-1, -1, -1, 12);
            }
            output.DataBanner = _mapper.Map <List <AdvertisingCarouselDTO> >(lstBanner);
            return(output);
        }
示例#3
0
        public SponsorBannerViewModel(SponsorBanner model)
        {
            Id = model.Id;
            if (model.File != null)
            {
                File = new FileViewModel(model.File);
            }

            Url  = model.Url;
            Name = model.Name;
        }
示例#4
0
        public async Task <SponsorBanner> GetSponsorBannerProduct(int productCategoryId, int?productTypeId, int top)
        {
            SponsorBanner output       = new SponsorBanner();
            string        apiUrl       = $"/api/v1/Advertising/GetSponsorBannerProduct";
            string        paramRequest = $"?ProductCategoryId={productCategoryId}&ProductTypeId={productTypeId}&Top={top}";
            var           response     = await _client.GetAsync(apiUrl + paramRequest);

            if (response.IsSuccessStatusCode)
            {
                string responseStream = await response.Content.ReadAsStringAsync();

                output = JsonConvert.DeserializeObject <SponsorBanner>(responseStream);
            }
            return(output);
        }