/// <summary>
        /// 自訂廣告管理 編輯
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="menuId"></param>
        /// <param name="Advertisement_ID">廣告區 ID</param>
        /// <param name="id">AdsCustomize.ID 自訂廣告管理ID</param>
        /// <returns></returns>
        public ActionResult AdsCustomizeEdit(long siteId, long menuId, long Advertisement_ID, long?id)
        {
            ViewBag.IsEdit = false;
            AdsCustomizeModel item = null;

            if (id != null) //如果有傳 id 進來的話
            {
                item = AdvertisementDAO.GetAdsCustomizeItem((long)id);

                // 20180621 neil
                // 如果 item 有抓到東西,代表本來就存進資料庫裡
                if (item != null)
                {
                    ViewBag.IsEdit = true;
                }
                // 如果 item 沒有抓到東西,代表目前的 id 是之前產生的,但尚未存入資料庫。
                // 主要用處是在自訂廣告編輯頁時會增加點擊事件、廣告主以及費用設定三項資料,
                // 因為上述三項資料和本筆資料的 table 不同加上儲存時會重新整理本頁,所以原先設定是需先存入,取得本筆資料 ID 後才能夠新增上述三項資料,
                // 但流程上貌似不順,所以改為在本頁編輯時,要能夠新增上述資料,新增後本頁重新整理時會再回傳之前產生的 id ,再用來抓取之前儲存的資料。
                else
                {
                    string clickEvent = "";
                    AdsCustomizeToVideoModel video = AdvertisementDAO.GetAdsCustomizeVideoItem((long)id);
                    AdsCustomizeToLinkModel  link  = AdvertisementDAO.GetAdsCustomizeLinkItem((long)id);
                    if (video != null)
                    {
                        clickEvent = "Video";
                    }
                    else if (link != null)
                    {
                        clickEvent = "Link";
                    }

                    item = new AdsCustomizeModel
                    {
                        ID = (long)id,
                        Advertisement_ID = Advertisement_ID,
                        IsIssue          = true,
                        ClickEvent       = clickEvent
                    };
                }
            }
            if (item == null)
            {
                item = new AdsCustomizeModel
                {
                    ID = WorkLib.GetItem.NewSN(),
                    Advertisement_ID = Advertisement_ID,
                    ClickEvent       = ClickEvent.None,
                    IsIssue          = true
                }
            }
            ;

            ViewBag.UploadUrl        = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId);
            ViewBag.Advertisement_ID = Advertisement_ID;
            ViewBag.SiteID           = siteId;
            ViewBag.MenuID           = menuId;
            return(View(item));
        }
 public ActionResult VideoEdit(AdsCustomizeToVideoModel model, string[] imgs)
 {
     AdvertisementDAO.SetAdsCustomizeVideoEdit(model);
     ViewBag.SiteID = model.SiteID;
     ViewBag.MenuID = model.MenuID;
     ViewBag.Exit   = true;
     return(View(model));
 }
        /// <summary>
        /// 新增廣告主
        /// </summary>
        /// <returns></returns>
        public ActionResult AddAdvertisers(long siteId)
        {
            IEnumerable <AdvertisersModel> advertisers = AdvertisementDAO.GetAllAdvertisers();

            ViewBag.SiteID      = siteId;
            ViewBag.Advertisers = advertisers;
            return(View());
        }
        /// <summary>
        /// 回傳自訂廣告的連結資料
        /// </summary>
        /// <param name="adsCustomizeId"></param>
        /// <returns></returns>
        public string GetLnkInfo(long adsCustomizeId)
        {
            List <dynamic> info = AdvertisementDAO.GetAdsCustomizeLinkInfo(adsCustomizeId).ToList();

            JsonResult jr = Json(info);

            return(new JavaScriptSerializer().Serialize(jr.Data));
        }
        public ActionResult AdvertiserSelector(List <long> advertiserIds)
        {
            IEnumerable <AdvertisersModel> advertisers = AdvertisementDAO.GetAllAdvertisers();

            ViewBag.AdvertiserIds = advertiserIds;

            return(View(advertisers));
        }
        public ActionResult AdvertisementEdit(AdvertisementModel model)
        {
            AdvertisementDAO.SetAdvertisementItem(model);
            ViewBag.SiteID = model.SiteID;
            ViewBag.MenuID = model.MenuID;
            ViewBag.Exit   = true;

            return(View(model));
        }
Example #7
0
        public ActionResult AdvertisersEdit(AdvertisersModel model)
        {
            //return RedirectToAction("Index");

            AdvertisementDAO.SetAdvertisersItem(model);
            ViewBag.SiteID = model.SiteID;
            ViewBag.MenuID = model.MenuID;
            ViewBag.Exit   = true;
            return(View(model));
        }
        /// <summary>
        /// 顯示位置 Index
        /// </summary>
        /// <param name="Advertisement_ID"></param>
        /// <returns></returns>
        public ActionResult AdsDisplaySetting(long Advertisement_ID, long SiteID)
        {
            //產生tree
            List <AdsDisplayAreaTrees> tree = AdvertisementDAO.GetDisplayAreaTree(Advertisement_ID, SiteID).OrderBy(m => m.AreaID).ThenBy(m => m.Sort).ToList();

            ViewBag.Advertisement_ID = Advertisement_ID;

            return(View(new AdsDisplayAreaSetIndexModel()
            {
                tree = tree
            }));
        }
        public ActionResult AdsDisplayPositionAdd(AdsPositionSetViewModel model)
        {
            string msg = string.Empty;

            if (model.SiteId != 0)
            {
                AdvertisementDAO.SetAdsDisplayPositionItem(model, out msg);
            }
            ViewBag.Exit      = true;
            ViewBag.ResultMsg = msg;
            return(View("AdsDisplayPositionAdd_" + model.DataType, model));
        }
        public ActionResult AdsCustomizeEdit(AdsCustomizeModel model)
        {
            AdsCustomizeEditSaveImage(model.SiteID, model.MenuID, model);

            AdvertisementDAO.SetCustomizeItem(model);
            ViewBag.SiteID           = model.SiteID;
            ViewBag.MenuID           = model.MenuID;
            ViewBag.Advertisement_ID = model.Advertisement_ID;
            ViewBag.IsEdit           = true;
            ViewBag.Exit             = true;

            return(View(model));
        }
        // 廣告成效詳細內容頁
        public ActionResult Detail(AdsDetailStatisticsSearchModel search, int?index)
        {
            DateTime          today = DateTime.Now;
            DateTime          firstDayOfCurrentMonth = new DateTime(today.Year, today.Month, 1);
            DateTime          endDayOfCurrentMonth   = firstDayOfCurrentMonth.AddMonths(1).AddDays(-1);
            AdsCustomizeModel adCustomize            = AdvertisementDAO.GetAdsCustomizeItem(search.AdsCustomId);

            adCustomize = adCustomize ?? new AdsCustomizeModel();

            if (Request.HttpMethod == "GET")
            {
                if (index == null)
                {
                    Utility.ClearSearchValue();
                    search.StartDate = search.StartDate != DateTime.MinValue ? search.StartDate : firstDayOfCurrentMonth;
                    search.EndDate   = search.EndDate != DateTime.MinValue ? search.EndDate : endDayOfCurrentMonth;
                    Session["ExportDetailSearch"] = search;
                }
                else
                {
                    AdsDetailStatisticsSearchModel prevSearch = Utility.GetSearchValue <AdsDetailStatisticsSearchModel>();
                    if (prevSearch != null)
                    {
                        search = prevSearch;
                    }
                }
            }
            else if (Request.HttpMethod == "POST")
            {
                Utility.SetSearchValue(search);
                Session["ExportDetailSearch"] = search;
            }

            if (index == null)
            {
                index = 1;
            }

            int pageSize    = 20;
            int recordCount = 0;
            List <AdsStatisticsDetailViewModel> statisticsData = AdvertisementStatisticsDAO.GetStatisticsDetail(search, pageSize, (int)index, out recordCount);

            ViewBag.Pagination = new Pagination {
                PageSize = pageSize, PageIndex = (int)index, TotalRecord = recordCount
            };
            ViewBag.Search    = search;
            ViewBag.StartDate = firstDayOfCurrentMonth;
            ViewBag.EndDate   = endDayOfCurrentMonth;
            ViewBag.AdsCustomizeDescription = adCustomize.Description;
            return(View(statisticsData));
        }
        /// <summary>
        /// 點擊事件_連結 編輯
        /// </summary>
        /// <param name="AdsCustomize_ID"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult LinkEdit(long AdsCustomize_ID)
        {
            AdsCustomizeToLinkModel item = AdvertisementDAO.GetAdsCustomizeLinkItem(AdsCustomize_ID);

            if (item == null)
            {
                item = new AdsCustomizeToLinkModel
                {
                    ID = WorkLib.GetItem.NewSN(),
                    AdsCustomize_ID = AdsCustomize_ID
                }
            }
            ;
            return(View(item));
        }
        /// <summary>
        /// 自訂廣告管理 Index
        /// </summary>
        /// <param name="Advertisement_ID">廣告區 ID</param>
        /// <returns></returns>
        public ActionResult AdsCustomizeIndex(AdsCustomizeSearchModel search, long siteId, long menuId, long Advertisement_ID, int?page)
        {
            if (Request.HttpMethod == "GET")
            {
                if (page == null)
                {
                    WorkV3.Common.Utility.ClearSearchValue();
                }
                else
                {
                    AdsCustomizeSearchModel prevSearch = WorkV3.Common.Utility.GetSearchValue <AdsCustomizeSearchModel>();
                    if (prevSearch != null)
                    {
                        search = prevSearch;
                    }
                }
            }
            else if (Request.HttpMethod == "POST")
            {
                WorkV3.Common.Utility.SetSearchValue(search);
                ViewBag.IsSearchMode = "IsSearchMode";
            }
            ViewBag.Search = search;

            List <AdsCustomizeModel> list = new List <AdsCustomizeModel>();
            Pagination pagination         = new Pagination
            {
                PageIndex = page ?? 1,
                PageSize  = WebInfo.PageSize
            };
            int totalRecord = 0;

            list = AdvertisementDAO.GetAdsCustomize(search, pagination.PageSize, pagination.PageIndex, Advertisement_ID, siteId, out totalRecord);
            pagination.TotalRecord = totalRecord;
            ViewBag.Pagination     = pagination;

            ViewBag.UploadUrl        = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId);
            ViewBag.Advertisement_ID = Advertisement_ID;
            ViewBag.SiteID           = siteId;
            ViewBag.MenuID           = menuId;

            AdvertisementModel ad = AdvertisementDAO.GetAdvertisementItem(Advertisement_ID);

            ViewBag.HasComputerVer = ad.IsUseForComputer;

            return(View(list));
        }
        /// <summary>
        /// 顯示位置的設定
        /// </summary>
        /// <param name="Title"></param>
        /// <param name="Advertisement_ID"></param>
        /// <param name="siteId"></param>
        /// <param name="menuId"></param>
        /// <param name="DataType"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult AdsDisplayPositionAdd(string Title, long Advertisement_ID, long siteId, long menuId, string DataType)
        {
            IEnumerable <AdsDisplayAreaSetModel> items = AdvertisementDAO.GetAdsDisplayPositionItems(Advertisement_ID, menuId);

            AdsPositionSetViewModel model = new AdsPositionSetViewModel();

            model.ListGroup       = items.Where(m => m.ChildType == null).Select(m => m.GroupPosition).ToArray();
            model.InsideGroup     = items.Where(m => m.ChildType == "Inside").Select(m => m.GroupPosition).ToArray();
            model.LoginGroup      = items.Where(m => m.ChildType == "Login").Select(m => m.GroupPosition).ToArray();
            model.SiteId          = siteId;
            model.MenuId          = menuId;
            model.DataType        = DataType;
            model.AdvertisementId = Advertisement_ID;

            if (items.Any(m => m.GroupPosition == "Overlay" && m.ChildType == null))
            {
                var item = items.Where(m => m.GroupPosition == "Overlay").FirstOrDefault();
                model.ListOverlayType          = item.OverlayType;
                model.ListOverlayIdleSeconds   = item.OverlayIdleSeconds;
                model.ListOverlayRepeatSeconds = item.OverlayRepeatSeconds / 60;
                model.ListOverlayChance        = item.OverlayChance;
            }

            if (items.Any(m => m.GroupPosition == "Overlay" && m.ChildType == "Inside"))
            {
                var item = items.Where(m => m.GroupPosition == "Overlay").FirstOrDefault();
                model.InsideOverlayType          = item.OverlayType;
                model.InsideOverlayIdleSeconds   = item.OverlayIdleSeconds;
                model.InsideOverlayRepeatSeconds = item.OverlayRepeatSeconds / 60;
                model.InsideOverlayChance        = item.OverlayChance;
            }

            if (items.Any(m => m.GroupPosition == "Overlay" && m.ChildType == "Login"))
            {
                var item = items.Where(m => m.GroupPosition == "Overlay").FirstOrDefault();
                model.LoginOverlayType          = item.OverlayType;
                model.LoginOverlayIdleSeconds   = item.OverlayIdleSeconds;
                model.LoginOverlayRepeatSeconds = item.OverlayRepeatSeconds / 60;
                model.LoginOverlayChance        = item.OverlayChance;
            }

            ViewBag.Title = string.Format("{0} 廣告區顯示設定", Title);
            return(View("AdsDisplayPositionAdd_" + DataType, model));
        }
        public string IsDurationOverlapped(long ID, long AdsCustomize_ID, DateTime startTime, DateTime endTime)
        {
            List <AdsCustomizeAccountSet> accountSet      = new List <AdsCustomizeAccountSet>();
            AdsCustomizeModel             adsCustomizeObj = AdvertisementDAO.GetAdsCustomizeItem(AdsCustomize_ID);

            if (adsCustomizeObj == null)
            {
                accountSet = AdvertisementDAO.QueryAccountSetByAdsCustomizeID(AdsCustomize_ID);
            }
            else
            {
                accountSet = adsCustomizeObj.AdsCustomizeAccountSet.ToList();
            }


            foreach (var item in accountSet)
            {
                // 區間不完整不計算
                if (item.IssueStart == null || item.IssueEnd == null)
                {
                    continue;
                }

                // 如果本身儲存時沒有修改時間的話不計算
                if (item.ID == ID)
                {
                    continue;
                }

                List <DateTime> timePoints = new List <DateTime>();
                timePoints.Add(startTime);
                timePoints.Add(endTime);
                timePoints.Add((DateTime)item.IssueStart);
                timePoints.Add((DateTime)item.IssueEnd);

                if (AdvertisementDAO.IsDurationOverlapped(startTime, endTime, (DateTime)item.IssueStart, (DateTime)item.IssueEnd))
                {
                    return("1");
                }
            }

            return("0");
        }
        /// <summary>
        /// 廣告區管理 Index
        /// </summary>
        /// <param name="search"></param>
        /// <param name="page"></param>
        /// <param name="siteId"></param>
        /// <param name="menuId"></param>
        /// <returns></returns>
        public ActionResult Index(AdvertisementSearchModel search, int?page, long siteId = 1, long menuId = 2000)
        {
            ViewBag.SiteID = siteId;
            ViewBag.MenuID = menuId;

            if (Request.HttpMethod == "GET")
            {
                if (page == null)
                {
                    WorkV3.Common.Utility.ClearSearchValue();
                }
                else
                {
                    AdvertisementSearchModel prevSearch = WorkV3.Common.Utility.GetSearchValue <AdvertisementSearchModel>();
                    if (prevSearch != null)
                    {
                        search = prevSearch;
                    }
                }
            }
            else if (Request.HttpMethod == "POST")
            {
                WorkV3.Common.Utility.SetSearchValue(search);
                ViewBag.IsSearchMode = "IsSearchMode";
            }
            ViewBag.Search = search;

            List <AdvertisementModel> list = new List <AdvertisementModel>();
            Pagination pagination          = new Pagination
            {
                PageIndex = page ?? 1,
                PageSize  = WebInfo.PageSize
            };
            int totalRecord = 0;

            list = AdvertisementDAO.GetAdvertisement(search, pagination.PageSize, pagination.PageIndex, siteId, out totalRecord);
            pagination.TotalRecord = totalRecord;
            ViewBag.Pagination     = pagination;


            return(View(list));
        }
Example #17
0
        public ActionResult Index(int?page, long siteId = 1, long menuId = 2000)
        {
            ViewBag.SiteID = siteId;
            ViewBag.MenuID = menuId;

            List <AdvertisersModel> list = new List <AdvertisersModel>();

            Pagination pagination = new Pagination
            {
                PageIndex = page ?? 1,
                PageSize  = WebInfo.PageSize
            };

            int totalRecord;

            list = AdvertisementDAO.GetAdvertisers(pagination.PageSize, pagination.PageIndex, siteId, out totalRecord);
            pagination.TotalRecord = totalRecord;
            ViewBag.Pagination     = pagination;

            return(View(list));
        }
Example #18
0
        public ActionResult AdvertisersEdit(long siteId, long menuId, long?id)
        {
            ViewBag.SiteID = siteId;
            ViewBag.MenuID = menuId;

            AdvertisersModel item = null;

            if (id != null)
            {
                item = AdvertisementDAO.GetAdvertisersItem((long)id);
            }
            if (item == null)
            {
                item = new AdvertisersModel {
                    ID = WorkLib.GetItem.NewSN(), IsIssue = true, Sort = int.MaxValue
                }
            }
            ;

            return(View(item));
        }
        /// <summary>
        /// 廣告區編輯
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="menuId"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult AdvertisementEdit(long siteId, long menuId, long?id)
        {
            ViewBag.SiteID = siteId;
            ViewBag.MenuID = menuId;

            AdvertisementModel item = null;

            if (id != null)
            {
                item = AdvertisementDAO.GetAdvertisementItem((long)id);
            }
            if (item == null)
            {
                item = new AdvertisementModel {
                    ID = WorkLib.GetItem.NewSN()
                }
            }
            ;

            return(View(item));
        }
        /// <summary>
        /// 刊登時間和費用設定
        /// </summary>
        /// <returns></returns>
        public ActionResult AdsCustomizeAccountSetEdit(long AdsCustomize_ID, long?id)
        {
            AdsCustomizeAccountSet item = null;

            if (id != null)
            {
                item = AdvertisementDAO.GetAdsCustomizeAccountItem((long)id);
            }
            if (item == null)
            {
                item = new AdsCustomizeAccountSet
                {
                    ID = WorkLib.GetItem.NewSN(),
                    AdsCustomize_ID = AdsCustomize_ID,
                    IsIssue         = true
                }
            }
            ;


            return(View(item));
        }
        /// <summary>
        /// 點擊事件_影片 編輯
        /// </summary>
        /// <param name="siteId"></param>
        /// <param name="menuId"></param>
        /// <param name="AdsCustomize_ID"></param>
        /// <returns></returns>
        public ActionResult VideoEdit(long siteId, long menuId, long AdsCustomize_ID)
        {
            AdsCustomizeToVideoModel item = AdvertisementDAO.GetAdsCustomizeVideoItem(AdsCustomize_ID);

            if (item == null)
            {
                item = new AdsCustomizeToVideoModel
                {
                    ID = WorkLib.GetItem.NewSN(),
                    AdsCustomize_ID = AdsCustomize_ID
                };
            }

            ViewBag.SiteID    = siteId;
            ViewBag.MenuID    = menuId;
            ViewBag.UploadUrl = WorkV3.Golbal.UpdFileInfo.GetVPathByMenuID(siteId, menuId);

            if (item.Screenshot == null)
            {
                item.Screenshot = WorkLib.GetItem.NewSN();
            }

            return(View(item));
        }
 public LandlordController(ApplicationDbContext applicationDbContext, Advertisement adv, AdvertisementDAO advDAO)
 {
     db               = applicationDbContext;
     advertisement    = adv;
     advertisementDAO = advDAO;
 }
 public StudentController(ApplicationDbContext applicationDbContext, AdvertisementDAO advDAO)
 {
     db = applicationDbContext;
     advertisementDAO = advDAO;
 }
 public void saveAdvertisers(long adsCustomizeId, long advertisersId)
 {
     AdvertisementDAO.saveAdvertisers(adsCustomizeId, advertisersId);
 }
        /// <summary>
        /// 廣告主搜尋
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public string AdvertisersSearch(string key, long siteId)
        {
            var result = AdvertisementDAO.SearchAdvertisersItems(key, siteId);

            return(Newtonsoft.Json.JsonConvert.SerializeObject(result, new Golbal.Int64Converter()));
        }
 public void DelAdvertiserByAdvertisement(long AdsCustomize_ID)
 {
     AdvertisementDAO.RemoveAdvertisersInAdsCustomize(AdsCustomize_ID);
 }
 public void DelLinksByAdsCustom(long AdsCustomize_ID)
 {
     AdvertisementDAO.DelLinksByAdsCustom(AdsCustomize_ID);
 }
 public ActionResult LinkEdit(AdsCustomizeToLinkModel model)
 {
     AdvertisementDAO.SetAdsCustomizeLinkEdit(model);
     ViewBag.Exit = true;
     return(View(model));
 }
 public ActionResult AdsCustomizeAccountSetEdit(AdsCustomizeAccountSet model)
 {
     AdvertisementDAO.SetAdsCustomizeAccount(model);
     ViewBag.Exit = true;
     return(View(model));
 }
 public void AccountDel(IEnumerable <long> ids)
 {
     AdvertisementDAO.AccountDel(ids);
 }