예제 #1
0
        /// <summary>
        /// 사이니지 제어
        /// </summary>
        /// <param name="Cond"></param>
        /// <returns></returns>
        public ActionResult SignageControl(T_SIGNAGE_CONTROL_COND Cond)
        {
            Cond.IDX = Cond.IDX ?? -1;
            T_SIGNAGE_CONTROL rtn = new LoggalBoxService().GetSignageControlList(Cond).FirstOrDefault();

            if (rtn == null)
            {
                var data = new LoggalBoxService().GetSignageList(new T_SIGNAGE_COND()
                {
                    SIGN_CODE = Cond.SIGN_CODE ?? -1
                }).FirstOrDefault();
                if (data != null)
                {
                    rtn = new T_SIGNAGE_CONTROL()
                    {
                        SIGN_CODE = Cond.SIGN_CODE, SIGN_NAME = data.SIGN_NAME
                    };
                }
            }
            ViewBag.data = rtn;
            if (!string.IsNullOrEmpty(Cond.USER_ID))
            {
                var rtnData = new AccountService().GetMemberList(new T_MEMBER_COND {
                    USER_ID = Cond.USER_ID
                }).FirstOrDefault();
                if (rtnData != null)
                {
                    rtnData.PASSWORD = "";
                    ViewBag.login    = rtnData;
                }
            }

            return(View());
        }
예제 #2
0
        public ActionResult SignageReg(T_SIGNAGE_COND Cond)
        {
            Cond.id = Cond.id == null ? -1 : Cond.id;
            if (Cond.id > 0)
            {
                Cond.SIGN_CODE = Cond.id;
            }

            if (Cond.REPRE_SIGN_CODE != null && Cond.REPRE_SIGN_CODE > 0)
            {
                T_SIGNAGE data = new LoggalBoxService().GetSignageList(new T_SIGNAGE_COND {
                    SIGN_CODE = Cond.REPRE_SIGN_CODE
                }).FirstOrDefault();
                data.SIGN_CODE       = null;
                data.SIGN_NAME       = data.SIGN_NAME + "(서브)";
                data.REPRE_SIGN_CODE = Cond.REPRE_SIGN_CODE;
                data.REPRE_SIGN_NAME = data.SIGN_NAME;
                data.IS_REPRESENT    = false;
                ViewBag.data         = data;
            }
            else
            {
                ViewBag.data = new LoggalBoxService().GetSignageList(Cond).FirstOrDefault();
            }
            return(View());
        }
예제 #3
0
        public JsonResult adSigninfoSignageSave(T_AD_SIGNINFO_SIGNAGE_SAVE Param)
        {
            RTN_SAVE_DATA rtn = new LoggalBoxService().adSigninfoSignageSave(Param);

            return(new JsonResult {
                Data = rtn
            });
        }
        public ActionResult Content(long id, long?deviceCode = null, int bannerKind = 2)
        {
            T_AD dataSel = new AdvertisingService().GetT_AD_List(id).FirstOrDefault();
            // Task.Run(() => { new AdvertisingService().AdContentClickSave(new LOGGAL_AD_COND { AD_CODE = id, DEVICE_CODE = deviceCode }); });
            //new AdvertisingService().AdContentClickSave(new LOGGAL_AD_COND { AD_CODE = id, DEVICE_CODE = deviceCode });

            /* T_AD_PLAY_LOG param = new T_AD_PLAY_LOG()
             * {
             *   DEVICE_CODE = deviceCode, AD_CODE = id
             *   , DEVICE_KIND = (deviceCode == null ? 1 : 2)
             *   , FRAME_TYPE = 1
             *   , PLAY_TYPE = 2
             *   , REMARK = ""
             *   , INSERT_CODE = 0
             *
             * };
             * RTN_SAVE_DATA data = new AdvertisingService().AdPlayLogSave(param);*/
            string deviceName = "";

            if (deviceCode != null)
            {
                var device = new LoggalBoxService().GetLoggalBoxList(new LOGGAL_BOX_COND {
                    DEVICE_CODE = deviceCode
                }).FirstOrDefault();
                deviceName = device == null? "" : device.DEVICE_NAME;
            }

            T_AD_PLAY_LOG_MONGO param = new T_AD_PLAY_LOG_MONGO()
            {
                DEVICE_CODE       = deviceCode,
                DEVICE_NAME       = deviceName,
                AD_CODE           = id,
                TITLE             = dataSel.TITLE,
                DEVICE_KIND       = (deviceCode == null ? 1 : 2),
                DEVICE_KIND_NAME  = (deviceCode == null ? "모바일" : "로컬박스"),
                FRAME_TYPE        = 1,
                FRAME_TYPE_NAME   = "1 Frame",
                BANNER_TYPE2      = 1,
                BANNER_TYPE2_NAME = "이미지",
                BANNER_KIND       = bannerKind,
                BANNER_KIND_NAME  = bannerKind == 1 ? "내배너" :"일반배너",
                PLAY_TYPE         = 2,
                PLAY_TYPE_NAME    = "클릭",
                PLAY_TIME         = 30,
                REMARK            = ""
            };

            Task.Run(async() =>
            {
                //new CommonService().GetCommon(new T_COMMON_COND() { ADD_COND = "AND MAIN_CODE IN ('A010','B008','H002','L003','P004')" }).Select(s => new { s.MAIN_CODE, s.SUB_CODE, s.NAME });
                new MongoDBService().AdPlayLogSave(param);
                await Task.FromResult(false);
            });
            ViewBag.data       = dataSel;
            ViewBag.deviceCode = deviceCode;
            return(View());
        }
예제 #5
0
        public JsonResult SignagePlaceSave(SIGNAGE_PLACE_SAVE param)
        {
            param.REG_CODE = SessionHelper.LoginInfo.MEMBER.MEMBER_CODE;
            RTN_SAVE_DATA data = new LoggalBoxService().SignagePlaceSave(param);

            return(new JsonResult {
                Data = data
            });
        }
예제 #6
0
        public JsonResult AdSigninfoSave(T_AD_SIGNINFO Param)
        {
            Param.INSERT_CODE = (int)SessionHelper.LoginInfo.MEMBER.MEMBER_CODE;
            RTN_SAVE_DATA rtn = new LoggalBoxService().AdSigninfoSave(Param);

            return(new JsonResult {
                Data = rtn
            });
        }
예제 #7
0
        public JsonResult SignageControlPlayUpdate(T_SIGNAGE_CONTROL_UPDATE Cond)
        {
            var list = new LoggalBoxService().SignageControlPlayUpdate(Cond);

            return(new JsonResult()
            {
                Data = list
            });
        }
예제 #8
0
        public JsonResult GetSignageControlList(T_SIGNAGE_CONTROL_COND Cond)
        {
            var list = new LoggalBoxService().GetSignageControlList(Cond);

            return(new JsonResult()
            {
                Data = list
            });
        }
예제 #9
0
        /// <summary>
        /// 사이니지 제어 저장
        /// </summary>
        /// <param name="Param"></param>
        /// <returns></returns>
        public JsonResult SignageControlSave(T_SIGNAGE_CONTROL Param)
        {
            RTN_SAVE_DATA rtn = new LoggalBoxService().SignageControlSave(Param);

            return(new JsonResult()
            {
                Data = rtn
            });
        }
예제 #10
0
        public JsonResult SignageSave(T_SIGNAGE Param)
        {
            Param.INSERT_CODE = SessionHelper.LoginInfo.MEMBER.MEMBER_CODE;
            RTN_SAVE_DATA rtn = new LoggalBoxService().SignageSave(Param);

            return(new JsonResult {
                Data = rtn
            });
        }
        public ActionResult localboxView(long id)
        {
            var list = new LoggalBoxService().GetLoggalBoxList(new LOGGAL_BOX_COND {
                DEVICE_CODE = id, bWorkingTime = true
            });

            List <LOGGAL_BOX_INFO> groupList = list.Where(w => w.GROUP_SEQ != null).GroupBy(g => new { g.GROUP_SEQ, g.GROUP_NAME, g.CONTENT_TYPE, g.FRAME_TYPE, g.PLAY_TIME }).Select(s => new LOGGAL_BOX_INFO {
                GROUP_SEQ = s.Key.GROUP_SEQ, CATEGORY_NAME = s.Key.GROUP_NAME, CONTENT_TYPE = s.Key.CONTENT_TYPE, FRAME_TYPE = s.Key.FRAME_TYPE, PLAY_TIME = s.Key.PLAY_TIME
            }).ToList();


            for (int i = 0; i < groupList.Count(); i++)
            {
                groupList[i].list = list.Where(w => groupList[i].GROUP_SEQ != null && w.GROUP_SEQ == groupList[i].GROUP_SEQ).Select(s => new LOGGAL_BOX_INFO_DETAIL {
                    AD_CODE = s.AD_CODE, LOGO_URL = s.LOGO_URL, CONTENT_URL = s.CONTENT_URL, BANNER_TYPE = s.BANNER_TYPE, TITLE = s.TITLE, SUB_TITLE = s.SUB_TITLE, COMPANY_NAME = s.COMPANY_NAME, BOOKMARK_CNT = s.BOOKMARK_CNT, CLICK_CNT = s.CLICK_CNT
                }).ToList();
            }


            IList <LOGGAL_BOX_DATA> mobileBannerlist = list.Where(w => w.GROUP_SEQ == null).ToList();

            List <LOGGAL_BOX_INFO> BannerGroupList = new List <LOGGAL_BOX_INFO>();

            ViewBag.commonlist = new CommonService().GetCommon(new T_COMMON_COND()
            {
                ADD_COND = "AND MAIN_CODE IN ('A010','B008','H002','L003','P004')"
            }).Select(s => new { s.MAIN_CODE, s.SUB_CODE, s.NAME });

            if (mobileBannerlist.Count() > 0)
            {
                int nFrameCnt = (int)(mobileBannerlist.First().FRAME_TYPE ?? 12);
                nFrameCnt = nFrameCnt > 2 ? nFrameCnt + 2 : nFrameCnt;

                var bannergroupList = mobileBannerlist.Select(s => new {
                    s.CATEGORY_CODE
                    , s.CATEGORY_NAME
                    , s.CONTENT_TYPE, s.FRAME_TYPE, s.PLAY_TIME
                }).Distinct().ToList();
                int nGroupSeq = 1;
                foreach (var data in bannergroupList)
                {
                    int nCnt = 0;


                    var rowList = mobileBannerlist.Where(w => w.CATEGORY_NAME == data.CATEGORY_NAME && w.CONTENT_TYPE == data.CONTENT_TYPE).ToList();
                    int nTot    = rowList.Count();

                    while (true)
                    {
                        LOGGAL_BOX_INFO rowData = new LOGGAL_BOX_INFO {
                            GROUP_SEQ       = nGroupSeq
                            , CATEGORY_NAME = data.CATEGORY_NAME
                            , CONTENT_TYPE  = data.CONTENT_TYPE
                            , FRAME_TYPE    = data.FRAME_TYPE
                            , PLAY_TIME     = data.PLAY_TIME
                        };

                        //rowData.list = rowList.Skip(nCnt * FRAME_TYPE).Take(FRAME_TYPE).Select(s => new LOGGAL_BOX_INFO_DETAIL { BANNER_TYPE = s.BANNER_TYPE, TITLE = s.TITLE, SUB_TITLE = s.SUB_TITLE, AD_CODE = s.AD_CODE, LOGO_URL = s.LOGO_URL, COMPANY_NAME = s.COMPANY_NAME + " " + (s.DISTANCE == 0 ? "" : Convert.ToDouble((double)s.DISTANCE / (double)1000.00).ToString("#,##0.00") + "km"), CONTENT_URL = s.CONTENT_URL }).ToList();
                        rowData.list = rowList.Skip(nCnt * nFrameCnt).Take(nFrameCnt).Select(s => new LOGGAL_BOX_INFO_DETAIL {
                            BANNER_TYPE = s.BANNER_TYPE, TITLE = s.TITLE, SUB_TITLE = s.SUB_TITLE, AD_CODE = s.AD_CODE, LOGO_URL = s.LOGO_URL, COMPANY_NAME = s.COMPANY_NAME, CONTENT_URL = s.CONTENT_URL, CLICK_CNT = s.CLICK_CNT, BOOKMARK_CNT = s.BOOKMARK_CNT, FAVORITE_CNT = s.FAVORITE_CNT
                        }).ToList();

                        BannerGroupList.Add(rowData);
                        nCnt++;
                        rowData.SEQ = nCnt;
                        nGroupSeq++;
                        if (nTot <= nCnt * nFrameCnt)
                        {
                            break;
                        }
                    }
                }
            }

            T_DEVICE device = new DeviceService().GetDeviceList(new T_DEVICE_COND {
                DEVICE_CODE = id
            }).FirstOrDefault();

            ViewBag.device          = device;
            ViewBag.GroupList       = groupList;
            ViewBag.BannerGroupList = BannerGroupList;

            string viewName = "/Views/device/partial/localboxleftMenu.cshtml";

            ViewBag.leftMenu = GlobalMvc.Common.RenderPartialViewToString(this, viewName, new { });

            SessionHelper.PAGE_WAITING_TIME = device.PAGE_WAITING_TIME.ToString("60");

            return(View());
        }
예제 #12
0
        public ActionResult localboxView(long id)
        {
            var list = new LoggalBoxService().GetLoggalBoxList2(new LOGGAL_BOX_COND2 {
                GUBUN = 1, DEVICE_CODE = id, bWorkingTime = true, HOST = GlobalMvc.Host, STATUS = 9
            });

            List <LOGGAL_BOX_INFO> groupList = list.Where(w => w.CATEGORY_CODE == 6336).GroupBy(g => new { g.GROUP_SEQ, g.CATEGORY_CODE, g.CATEGORY_NAME, g.BANNER_TYPE2, g.AD_FRAME_TYPE, g.AD_CYCLE_TIME }).Select(s => new LOGGAL_BOX_INFO {
                GROUP_SEQ = s.Key.GROUP_SEQ, CATEGORY_CODE = s.Key.CATEGORY_CODE, CATEGORY_NAME = (s.Key.AD_FRAME_TYPE == 1 ? s.Max(s1 => s1.TITLE) : s.Key.CATEGORY_NAME), BANNER_TYPE2 = s.Key.BANNER_TYPE2, FRAME_TYPE = s.Key.AD_FRAME_TYPE, PLAY_TIME = s.Key.AD_CYCLE_TIME
            }).ToList();

            if (groupList.Count() > 0)
            {
                int nMyBannerGroup = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(groupList.Count()) / Convert.ToDecimal(groupList.First().FRAME_TYPE)));

                for (int i = 0; i < groupList.Count(); i++)
                {
                    groupList[i].list = list.Where(w => groupList[i].GROUP_SEQ == w.GROUP_SEQ && w.CATEGORY_CODE == groupList[i].CATEGORY_CODE).Select(s => new LOGGAL_BOX_INFO_DETAIL {
                        AD_CODE = s.AD_CODE, LOGO_URL = s.LOGO_URL, BANNER_IMAGE = s.BANNER_IMAGE, CONTENT_URL = s.CONTENT_URL, BANNER_TYPE = s.BANNER_TYPE, TITLE = s.TITLE, SUB_TITLE = s.SUB_TITLE, COMPANY_NAME = s.STORE_NAME, BOOKMARK_CNT = s.BOOKMARK_CNT, CLICK_CNT = s.CLICK_CNT
                    }).ToList();
                }
            }


            IList <LOGGAL_BOX_DATA2> mobileBannerlist = list.Where(w => w.CATEGORY_CODE != 6336).ToList();

            List <LOGGAL_BOX_INFO> BannerGroupList = new List <LOGGAL_BOX_INFO>();

            ViewBag.commonlist = new CommonService().GetCommon(new T_COMMON_COND()
            {
                ADD_COND = "AND MAIN_CODE IN ('A010','B008','H002','L003','P004')"
            }).Select(s => new { s.MAIN_CODE, s.SUB_CODE, s.NAME });

            if (mobileBannerlist.Count() > 0)
            {
                int nFrameCnt = mobileBannerlist.First().AD_FRAME_TYPE;
                nFrameCnt = nFrameCnt > 2 ? nFrameCnt + 2 : nFrameCnt;

                var bannergroupList = mobileBannerlist.Select(s => new {
                    CATEGORY_CODE   = s.CATEGORY_CODE
                    , CATEGORY_NAME = s.CATEGORY_NAME
                    , BANNER_TYPE2  = s.BANNER_TYPE2
                    , AD_FRAME_TYPE = s.AD_FRAME_TYPE
                    , PLAY_TIME     = s.AD_CYCLE_TIME
                }).Distinct().ToList();
                int nGroupSeq = 1;
                foreach (var data in bannergroupList)
                {
                    int nCnt = 0;


                    var rowList = mobileBannerlist.Where(w => w.CATEGORY_NAME == data.CATEGORY_NAME && w.BANNER_TYPE2 == data.BANNER_TYPE2).ToList();
                    int nTot    = rowList.Count();

                    while (true)
                    {
                        LOGGAL_BOX_INFO rowData = new LOGGAL_BOX_INFO
                        {
                            GROUP_SEQ     = nGroupSeq,
                            CATEGORY_NAME = data.CATEGORY_NAME,
                            BANNER_TYPE2  = data.BANNER_TYPE2,
                            FRAME_TYPE    = data.AD_FRAME_TYPE,
                            PLAY_TIME     = data.PLAY_TIME
                        };

                        //rowData.list = rowList.Skip(nCnt * FRAME_TYPE).Take(FRAME_TYPE).Select(s => new LOGGAL_BOX_INFO_DETAIL { BANNER_TYPE = s.BANNER_TYPE, TITLE = s.TITLE, SUB_TITLE = s.SUB_TITLE, AD_CODE = s.AD_CODE, LOGO_URL = s.LOGO_URL, COMPANY_NAME = s.COMPANY_NAME + " " + (s.DISTANCE == 0 ? "" : Convert.ToDouble((double)s.DISTANCE / (double)1000.00).ToString("#,##0.00") + "km"), CONTENT_URL = s.CONTENT_URL }).ToList();
                        rowData.list = rowList.Skip(nCnt * nFrameCnt).Take(nFrameCnt).Select(s => new LOGGAL_BOX_INFO_DETAIL {
                            BANNER_TYPE = s.BANNER_TYPE, TITLE = s.TITLE, SUB_TITLE = s.SUB_TITLE, AD_CODE = s.AD_CODE, LOGO_URL = s.LOGO_URL, BANNER_IMAGE = s.BANNER_IMAGE, COMPANY_NAME = s.STORE_NAME, CONTENT_URL = s.CONTENT_URL, CLICK_CNT = s.CLICK_CNT, BOOKMARK_CNT = s.BOOKMARK_CNT, FAVORITE_CNT = s.FAVORITE_CNT
                        }).ToList();

                        BannerGroupList.Add(rowData);
                        nCnt++;
                        rowData.SEQ = nCnt;
                        nGroupSeq++;
                        if (nTot <= nCnt * nFrameCnt)
                        {
                            break;
                        }
                    }
                }
            }


            var devicedata = list.First();

            ViewBag.device = list.Count() > 0 ? new T_DEVICE()
            {
                DEVICE_CODE       = devicedata.DEVICE_CODE
                , DEVICE_NAME     = devicedata.DEVICE_NAME
                , AD_CYCLE_TIME   = devicedata.AD_CYCLE_TIME
                , DATA_CYCLE_TIME = devicedata.DATA_CYCLE_TIME
                , AD_FRAME_TYPE   = devicedata.AD_FRAME_TYPE
            } : new T_DEVICE();
            ViewBag.GroupList       = groupList;
            ViewBag.BannerGroupList = BannerGroupList;

            string viewName = "/Views/device/partial/localboxleftMenu.cshtml";

            ViewBag.leftMenu = GlobalMvc.Common.RenderPartialViewToString(this, viewName, new { });

            SessionHelper.PAGE_WAITING_TIME = devicedata.PAGE_WAITING_TIME.ToString("60");

            return(View());
        }
예제 #13
0
        public IList <T_SIGNAGE_CONTROL> GetSignageControlList([FromBody] T_SIGNAGE_CONTROL_COND Cond)
        {
            IList <T_SIGNAGE_CONTROL> list = new LoggalBoxService().GetSignageControlList(Cond);

            return(list);
        }
예제 #14
0
        public IList <T_SIGNAGE> GetSignageList(T_SIGNAGE_COND Cond)
        {
            IList <T_SIGNAGE> list = new LoggalBoxService().GetSignageList(Cond);

            return(list);
        }