public ActionResult LoadScroll(PinFilterDTO pinFilter) { try { if (!string.IsNullOrEmpty(pinFilter.Url)) { NameValueCollection QueryString = CommonHelper.GetQueryParameters(pinFilter.Url); var _Key = QueryString["BoardID"] ?? ""; var _Group = QueryString["GroupID"] ?? ""; if (!string.IsNullOrEmpty(_Key)) { pinFilter.LstBoardID.Add(_Key); } if (!string.IsNullOrEmpty(_Group)) { pinFilter.LstGroupBoardID.Add(_Group); var _lstKeywords = getListBoardByGroud(_Group); pinFilter.LstBoardID.AddRange(_lstKeywords); } } if (pinFilter.LstBoardID != null && pinFilter.LstBoardID.Count > 0) { if (string.IsNullOrEmpty(pinFilter.LstBoardID[0])) { pinFilter.LstBoardID = null; } } if (pinFilter.LstBoardID == null || pinFilter.LstBoardID.Count == 0) { pinFilter.LstBoardID = getListBoard().Select(o => o.Value).ToList(); } var modelCrawler = new CMS_CrawlerModels(); if (pinFilter.LstBoardID != null && pinFilter.LstBoardID.Count > 0) { var _pinModels = new List <PinsModels>(); var msg = ""; pinFilter.PageSize = Commons.PageSize; int totalPin = 0; var result = _fac.GetPin(ref _pinModels, ref totalPin, pinFilter, ref msg); if (result) { modelCrawler.Pins = _pinModels; } } return(PartialView("_ListItem", modelCrawler)); } catch (Exception) { } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }
public ActionResult Search() { try { var FilterModel = new PinFilterDTO(); FilterModel.PageIndex = Commons.PageIndex; FilterModel.PageSize = Commons.PageSize; FilterModel.CreatedDateFrom = null; FilterModel.CreatedDateTo = null; // var _Key = Request["Key"] ?? ""; var TypeTime = Request["TypeTime"] ?? "2"; //var Sort1 = Request["Sort1"] ?? ""; var Sort2 = Request["Sort2"] ?? "2"; // var TypePin = Request["TypePin"] ?? ""; var _TypeQuantity = Request["TypeQuantity"]; int TypeQuantity = -1; if (!string.IsNullOrEmpty(_TypeQuantity)) { TypeQuantity = Convert.ToInt16(_TypeQuantity); } var Keywords = Request["listKeywords"] ?? null; char[] separator = new char[] { ',' }; var ListKeyword = CommonHelper.ParseStringToList(Keywords, separator); var _FromDate = Convert.ToDateTime(Request["FromDate"]); var _ToDate = Convert.ToDateTime(Request["ToDate"]); #region "comment" //cache data //Response.Cookies["TypeTime"].Value = TypeTime.ToString(); //Response.Cookies["TypeTime"].Expires = DateTime.Now.AddYears(1); // add expiry time //Response.Cookies["TypePin"].Value = TypePin.ToString(); //Response.Cookies["TypePin"].Expires = DateTime.Now.AddYears(1); // add expiry time //Response.Cookies["FromDate"].Value = _FromDate.ToString(); //Response.Cookies["FromDate"].Expires = DateTime.Now.AddYears(1); // add expiry time //Response.Cookies["ToDate"].Value = _ToDate.ToString(); //Response.Cookies["ToDate"].Expires = DateTime.Now.AddYears(1); // add expiry time //if(TypeQuantity != 0) //{ // Response.Cookies["TypeQuantity"].Value = TypeQuantity.ToString(); // Response.Cookies["TypeQuantity"].Expires = DateTime.Now.AddYears(1); // add expiry time //} #endregion FilterModel.CreatedAtFrom = _FromDate; FilterModel.CreatedAtTo = _ToDate; var _Group = Request["GroupID"] ?? ""; if (!string.IsNullOrEmpty(_Group)) { FilterModel.LstGroupID.Add(_Group); var _lstKeywords = getListKeyWordByGroup(_Group); FilterModel.LstKeyWordID.AddRange(_lstKeywords); } if (TypeQuantity.ToString() == Commons.EQuantityType.ZeroToOne.ToString("d")) { FilterModel.PinCountFrom = 0; FilterModel.PinCountTo = 100; } if (TypeQuantity.ToString() == Commons.EQuantityType.OneToTwo.ToString("d")) { FilterModel.PinCountFrom = 100; FilterModel.PinCountTo = 200; } if (TypeQuantity.ToString() == Commons.EQuantityType.TwoToThree.ToString("d")) { FilterModel.PinCountFrom = 200; FilterModel.PinCountTo = 300; } if (TypeQuantity.ToString() == Commons.EQuantityType.ThreeToFour.ToString("d")) { FilterModel.PinCountFrom = 300; FilterModel.PinCountTo = 400; } if (TypeQuantity.ToString() == Commons.EQuantityType.FourToFive.ToString("d")) { FilterModel.PinCountFrom = 400; FilterModel.PinCountTo = 500; } if (TypeQuantity.ToString() == Commons.EQuantityType.MoreFive.ToString("d")) { FilterModel.PinCountFrom = 500; } if (ListKeyword != null && ListKeyword.Count > 0) { FilterModel.LstKeyWordID = ListKeyword; // Response.Cookies["Keywords"].Value = Keywords.ToString(); // Response.Cookies["Keywords"].Expires = DateTime.Now.AddYears(1); // add expiry time } FilterModel.TypeTime = TypeTime; var tmp = 0; int.TryParse(TypeTime, out tmp); FilterModel.Sort1 = tmp; int.TryParse(Sort2, out tmp); FilterModel.Sort2 = tmp; var modelCrawler = new CMS_CrawlerModels(); var _pinModels = new List <PinsModels>(); var msg = ""; int totalPin = 0; var result = _fac.GetPin(ref _pinModels, ref totalPin, FilterModel, ref msg); if (result) { modelCrawler.Pins = _pinModels; } return(PartialView("_ListItem", modelCrawler)); } catch (Exception ex) { } return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); }
// GET: Admin/CMSCategories public ActionResult Index() { CMS_ProductsModels model = new CMS_ProductsModels(); try { var _Key = Request["keywordID"] ?? ""; var _Group = Request["GroupID"] ?? ""; var FilterModel = new PinFilterDTO(); FilterModel.PageIndex = Commons.PageIndex; FilterModel.PageSize = Commons.PageSize; FilterModel.TypeTime = Commons.ESortType1.TimeCreatedAtDecrease.ToString("d"); model.TypeTime = int.Parse(Commons.ESortType1.TimeCreatedAtDecrease.ToString("d")); FilterModel.Sort1 = (byte)Commons.ESortType1.TimeCreatedAtDecrease; model.Sort1 = (byte)Commons.ESortType1.TimeCreatedAtDecrease; FilterModel.Sort2 = (byte)Commons.ESortType2.ReactionDecrease; model.Sort2 = (byte)Commons.ESortType2.ReactionDecrease; model.Index = int.Parse(Commons.EIndex.LikeReduce.ToString("d")); #region "Comment" //if (Request.Cookies["FromDate"] != null) //{ // var _FromDate = Convert.ToDateTime(Request.Cookies["FromDate"].Value); // FilterModel.CreatedAtFrom = _FromDate; //} //if(Request.Cookies["ToDate"] != null) //{ // var _ToDate = Convert.ToDateTime(Request.Cookies["ToDate"].Value); // FilterModel.CreatedAtTo = _ToDate; //} //string TypeTime = "", TypePin = ""; //if (Request.Cookies["TypeTime"] != null) //{ // TypeTime = Request.Cookies["TypeTime"].Value; // model.TypeTime = Convert.ToInt16(TypeTime); //} //if (Request.Cookies["TypePin"] != null) //{ // TypePin = Request.Cookies["TypePin"].Value; // model.TypePin = Convert.ToInt16(TypePin); //} //if (Request.Cookies["TypeQuantity"] != null) //{ // var RepinCount = Request.Cookies["TypeQuantity"].Value.ToString(); // if(RepinCount == Commons.EQuantityType.ZeroToOne.ToString("d")) // { // FilterModel.PinCountFrom = 0; // FilterModel.PinCountTo = 100; // } // if (RepinCount == Commons.EQuantityType.OneToTwo.ToString("d")) // { // FilterModel.PinCountFrom = 100; // FilterModel.PinCountTo = 200; // } // if (RepinCount == Commons.EQuantityType.TwoToThree.ToString("d")) // { // FilterModel.PinCountFrom = 200; // FilterModel.PinCountTo = 300; // } // if (RepinCount == Commons.EQuantityType.ThreeToFour.ToString("d")) // { // FilterModel.PinCountFrom = 300; // FilterModel.PinCountTo = 400; // } // if (RepinCount == Commons.EQuantityType.FourToFive.ToString("d")) // { // FilterModel.PinCountFrom = 400; // FilterModel.PinCountTo = 500; // } // if (RepinCount == Commons.EQuantityType.MoreFive.ToString("d")) // { // FilterModel.PinCountFrom = 500; // } // model.TypeQuantity = Convert.ToInt16(RepinCount); //} //if(Request.Cookies["Keywords"] != null) //{ // var Keywords = Request.Cookies["Keywords"].Value; // char[] separator = new char[] { ',' }; // var ListKeyword = CommonHelper.ParseStringToList(Keywords, separator); // FilterModel.lstKeyWordID = ListKeyword; // model.listKeywords = ListKeyword; //} #endregion model.ListTime = getListTime(); model.ListQuantity = getListQuantity(); model.ListIndex = getListIndex(); model.ListSort2 = getListSort2(); // model.ListRePin = getListRepinCount(); ViewBag.Keywords = getListKeyword(); ViewBag.ListGroupFanpage = getListGroupKeyword(); if (!string.IsNullOrEmpty(_Key)) { FilterModel.LstKeyWordID.Add(_Key); model.listKeywords.Add(_Key); } if (!string.IsNullOrEmpty(_Group)) { FilterModel.LstGroupID.Add(_Group); var _lstKeywords = getListKeyWordByGroup(_Group); model.listKeywords.AddRange(_lstKeywords); } var _pinModels = new List <PinsModels>(); var msg = ""; int totalPin = 0; var result = _fac.GetPin(ref _pinModels, ref totalPin, FilterModel, ref msg); if (result) { model.Crawler.Pins = _pinModels.OrderBy(x => x.Created_At).ToList(); #region "Comment" //if (TypeTime.Equals(Commons.ETimeType.TimeReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Created_At).ToList(); //} //else if (TypeTime.Equals(Commons.ETimeType.TimeIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Created_At).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Repin_count).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Repin_count).ToList(); //} #endregion } } catch (Exception ex) { } return(View(model)); }
public bool GetPin(ref List <PinsModels> lstPins, ref int totalPin, PinFilterDTO filter, ref string msg) { var result = true; lstPins = new List <PinsModels>(); try { using (var _db = new CMS_Context()) { var query = _db.CMS_Pin.Where(o => o.Status != (byte)Commons.EStatus.Deleted); if (filter != null) { /* filter by list GROUP key words */ if (filter.LstGroupID != null) { if (filter.LstGroupID.Count > 0) { var lstKeyID = _db.CMS_R_GroupKey_KeyWord.Where(o => filter.LstGroupID.Contains(o.GroupKeyID) && o.Status != (byte)Commons.EStatus.Deleted).Select(o => o.KeyWordID).ToList(); if (lstKeyID.Count > 0) { if (filter.LstKeyWordID == null) { filter.LstKeyWordID = new List <string>(); } filter.LstKeyWordID.AddRange(lstKeyID); } } } /* filter by list KEY WORD */ if (filter.LstKeyWordID != null) { if (filter.LstKeyWordID.Count > 0) { var lstPinID = _db.CMS_R_KeyWord_Pin.Where(o => filter.LstKeyWordID.Contains(o.KeyWordID)).Select(o => o.PinID).ToList(); query = query.Where(o => lstPinID.Contains(o.ID)); } } /* filter by list GROUP BOARD */ if (filter.LstGroupBoardID != null) { if (filter.LstGroupBoardID.Count > 0) { var lstBoardID = _db.CMS_R_GroupBoard_Board.Where(o => filter.LstGroupBoardID.Contains(o.GroupBoardID) && o.Status != (byte)Commons.EStatus.Deleted).Select(o => o.BoardID).ToList(); if (lstBoardID.Count > 0) { if (filter.LstBoardID == null) { filter.LstBoardID = new List <string>(); } filter.LstBoardID.AddRange(lstBoardID); } } } /* filter by list BOARD */ if (filter.LstBoardID != null) { if (filter.LstBoardID.Count > 0) { var lstPinID = _db.CMS_R_Board_Pin.Where(o => filter.LstBoardID.Contains(o.BoardID)).Select(o => o.PinID).ToList(); query = query.Where(o => lstPinID.Contains(o.ID)); } } /* filter by create date */ if (filter.CreatedDateFrom != filter.CreatedDateTo && filter.CreatedDateTo != null) { query = query.Where(o => DbFunctions.TruncateTime(o.CreatedDate) >= DbFunctions.TruncateTime(filter.CreatedDateFrom) && DbFunctions.TruncateTime(o.CreatedDate) <= DbFunctions.TruncateTime(filter.CreatedDateTo)); } /* filter by create at */ if (filter.CreatedAtFrom != filter.CreatedAtTo && filter.CreatedAtTo != null) { query = query.Where(o => DbFunctions.TruncateTime(o.Created_At) >= DbFunctions.TruncateTime(filter.CreatedAtFrom) && DbFunctions.TruncateTime(o.Created_At) <= DbFunctions.TruncateTime(filter.CreatedAtTo)); } /* filter by pin count */ if (filter.PinCountFrom != null) { query = query.Where(o => o.Repin_count >= filter.PinCountFrom); } if (filter.PinCountTo != null) { query = query.Where(o => o.Repin_count <= filter.PinCountTo); } /* get total pin */ totalPin = query.Count(); /* order data */ if (filter.TypeTime.Equals(Commons.ETimeType.TimeReduce.ToString("d"))) { query = query.OrderByDescending(x => x.Created_At).ThenBy(o => o.ID); } else if (filter.TypeTime.Equals(Commons.ETimeType.TimeIncrease.ToString("d"))) { query = query.OrderBy(x => x.Created_At).ThenBy(o => o.ID); } else if (filter.TypeTime.Equals(Commons.ETimeType.PinReduce.ToString("d"))) { query = query.OrderByDescending(x => x.Repin_count).ThenBy(o => o.ID); } else if (filter.TypeTime.Equals(Commons.ETimeType.PinIncrease.ToString("d"))) { query = query.OrderBy(x => x.Repin_count).ThenBy(o => o.ID); } else if (filter.TypeTime.Equals(Commons.ETimeType.ToolReduce.ToString("d"))) { query = query.OrderByDescending(x => x.CreatedDate).ThenBy(o => o.ID); } else if (filter.TypeTime.Equals(Commons.ETimeType.ToolIncrease.ToString("d"))) { query = query.OrderBy(x => x.CreatedDate).ThenBy(o => o.ID); } /* get by page size - page index */ query = query.Skip((filter.PageIndex - 1) * filter.PageSize).Take(filter.PageSize); } lstPins = query.Select(o => new PinsModels() { ID = o.ID, Link = o.Link, Domain = o.Domain, Repin_count = o.Repin_count ?? 0, Images = new List <ImageModels>() { new ImageModels() { url = o.ImageUrl, }, }, Created_At = o.Created_At ?? DateTime.MinValue, CreatedDate = o.CreatedDate ?? DateTime.MinValue, UpdateDate = o.UpdatedDate ?? DateTime.MinValue, Board = new CMS_BoardModels() { id = o.BoardID, name = o.BoardName, url = o.BoardUrl, } //LastTime = CommonHelper.GetDurationFromNow(o.UpdatedDate), }).ToList(); } } catch (Exception ex) { msg = "CreateOrUpdate Pin with exception."; result = false; } finally { } return(result); }
// GET: Admin/CMSCategories public ActionResult Index() { CMS_ProductsModels model = new CMS_ProductsModels(); try { var _Key = Request["BoardID"] ?? ""; var _Group = Request["GroupID"] ?? ""; var FilterModel = new PinFilterDTO(); FilterModel.PageIndex = Commons.PageIndex; FilterModel.PageSize = Commons.PageSize; FilterModel.TypeTime = Commons.ETimeType.TimeReduce.ToString("d"); model.ListTime = getListTime(); model.ListQuantity = getListQuantity(); // model.ListRePin = getListRepinCount(); var lstBoard = getListBoard(); ViewBag.Keywords = lstBoard; if (!string.IsNullOrEmpty(_Key)) { FilterModel.LstBoardID.Add(_Key); model.listBoards.Add(_Key); } if (!string.IsNullOrEmpty(_Group)) { FilterModel.LstGroupBoardID.Add(_Group); var _lstKeywords = getListBoardByGroud(_Group); FilterModel.LstBoardID = _lstKeywords; model.listBoards.AddRange(_lstKeywords); } if (FilterModel.LstBoardID.Count == 0) { FilterModel.LstBoardID = lstBoard.Select(o => o.Value).ToList(); } if (FilterModel.LstBoardID != null && FilterModel.LstBoardID.Count > 0) { var _pinModels = new List <PinsModels>(); var msg = ""; int totalPin = 0; var result = _fac.GetPin(ref _pinModels, ref totalPin, FilterModel, ref msg); if (result) { model.Crawler.Pins = _pinModels.OrderBy(x => x.Created_At).ToList(); #region "Comment" //if (TypeTime.Equals(Commons.ETimeType.TimeReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Created_At).ToList(); //} //else if (TypeTime.Equals(Commons.ETimeType.TimeIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Created_At).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinReduce.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderByDescending(x => x.Repin_count).ToList(); //} //else if (TypePin.Equals(Commons.ETimeType.PinIncrease.ToString("d"))) //{ // model.Crawler.Pins = model.Crawler.Pins.OrderBy(x => x.Repin_count).ToList(); //} #endregion } } } catch (Exception ex) { } return(View(model)); }