示例#1
0
        public HttpResponseMessage AddFolio(HttpRequestMessage request, FolioData folioData)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;

                if (!ModelState.IsValid)
                {
                    response = request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
                }
                else
                {
                    //var folioData = request.DeserializeObject<FolioData>("folio");
                    var folio = folioData.folio;
                    var result = new FolioLoadViewModel();
                    if (folio != null)
                    {
                        var newfolio = folioData.folio.ToEntity();
                        newfolio.lu_dummy_page_dimension = _dummyPageDimentionRepository.GetAll().Where(x => x.pub_id == folioData.pub_id).FirstOrDefault();
                        newfolio.iss_id = folioData.iss_id;
                        _dummyFolioRepository.Add(newfolio);

                        DesignDummyRepository.UpdateFolioSequence(newfolio, folio.insertAt, folio.folioAt.GetValueOrDefault(), _dummyFolioRepository);
                        _unitOfWork.Commit();

                        for (var page = 0; page < folio.total_page; page++)
                        {
                            _dummyPageRepository.Add(new tbl_dummy_page {
                                page_name = folio.page_desc, page_number = (page + folio.start_page_number), tbl_dummy_folio = newfolio
                            });
                        }
                        _unitOfWork.Commit();
                        var pages = _dummyPageRepository.GetAll().Where(x => x.dummy_folio_id == newfolio.dummy_folio_id);
                        result.pages = Mapper.Map <IEnumerable <tbl_dummy_page>, List <DummyPageViewModel> >(pages);
                        result.folio_id = newfolio.dummy_folio_id;
                        result.folio_name = newfolio.folio_name;
                        result.folio_sequence = newfolio.page_sequence.GetValueOrDefault();
                        response = request.CreateResponse(HttpStatusCode.Created, result);
                    }
                    else
                    {
                        response = request.CreateResponse(HttpStatusCode.BadRequest);
                    }
                }

                return response;
            }));
        }
示例#2
0
        public AdvertisementViewMode GetAdViewById(int ad_id)
        {
            var token    = HttpContext.Current.User.Identity.Name;
            var repo     = new SecurityRepository();
            var luClient = repo.GetClient(token);

            var ad        = _mediaPageNumberRepository.GetAll().Where(x => x.media_page_number == ad_id).FirstOrDefault();
            var adView    = DesignDummyRepository.BuildAdViewModel(ad, luClient);
            var mediaTrim = _adsizeMediaTrimRepository.GetAll().ToList()
                            .Where(x => x.adsize_id == adView.adsize_id && x.pub_id == adView.pub_id && (adView.ad_shape_id == (x.lu_adsize_trim != null ? x.lu_adsize_trim.ad_shape_id.GetValueOrDefault() : 0))).FirstOrDefault();

            if (mediaTrim != null && mediaTrim.lu_adsize_trim != null)
            {
                adView.adsize_trim_desc = mediaTrim.lu_adsize_trim.adsize_trim_desc;
                adView.AdSizeType       = DesignDummyRepository.GetAdSizeType(mediaTrim.lu_adsize_trim.adsize_trim_desc);
            }
            if (mediaTrim.lu_adsize_trim.lu_dummy_coordinate != null)
            {
                adView.coordinates = Mapper.Map <lu_dummy_coordinate, CoordinatesViewMode>(mediaTrim.lu_adsize_trim.lu_dummy_coordinate);
            }
            return(adView);
        }
示例#3
0
        public IEnumerable <AdvertisementViewMode> AllAds(int pub_id, int iss_id)
        {
            var token     = HttpContext.Current.User.Identity.Name;
            var repo      = new SecurityRepository();
            var luClient  = repo.GetClient(token);
            var mediaTrim = _adsizeMediaTrimRepository.GetAll().ToList();

            var result = _mediaPageNumberRepository.GetAll().Where(x => x.pub_id == pub_id && x.iss_id == iss_id && x.tbl_io_detail.lu_ad_rate.pagination_req == 0).ToList().Select(ad => DesignDummyRepository.BuildAdViewModel(ad, luClient));
            var test   = result.Join(
                mediaTrim,
                mediaPage => new { mediaPage.adsize_id, mediaPage.pub_id },
                trim => new { trim.adsize_id, trim.pub_id },
                (t1, t2) => new { t1, t2 })
                         .Where(o => o.t2.lu_adsize_trim != null && o.t1.ad_shape_id == o.t2.lu_adsize_trim.ad_shape_id.GetValueOrDefault())
                         .Select(o => new { o.t1, o.t2.lu_adsize_trim.adsize_trim_desc, o.t2.lu_adsize_trim.lu_dummy_coordinate });

            var adsList = new List <AdvertisementViewMode>();

            foreach (var i in test)
            {
                i.t1.adsize_trim_desc = i.adsize_trim_desc;

                if (i.lu_dummy_coordinate != null)
                {
                    i.t1.coordinates = Mapper.Map <lu_dummy_coordinate, CoordinatesViewMode>(i.lu_dummy_coordinate);
                }
                adsList.Add(i.t1);
            }
            var uniquPlacedAds = _dummyPagePlacementRepository.GetAll().ToList().Select(x => x.media_page_number_id).Distinct();

            return(adsList.Where(x => !uniquPlacedAds.Contains(x.ad_id) && x.adsize_trim_desc != null && x.status).OrderBy(x => x.company_name).Distinct());
        }