public ActionResult Print(int id) { var scheme = SchemeService.Find(id); var schemeItems = SchemeItemService.GetALL().Where(x => x.SchemeID == id); var mediaIds = schemeItems.Select(x => x.MediaID).ToList(); var list = new List <LinkItem>(); var currentPrice = schemeItems.Sum(x => x.Price); if (mediaIds.Any()) { using (MiniProfiler.Current.Step("LuceneSearch")) { list = OutDoorLuceneService.Search(mediaIds); } } var model = new SchemePrintViewModel() { ID = scheme.ID, Medias = list, AddTime = scheme.AddTime, Description = scheme.Description, Name = scheme.Name }; ViewBag.currentPrice = currentPrice.ToString("F2"); //return View(scheme); return(View(model)); }
public ActionResult GenerateScheme(GenerateSchemeViewModel model) { var totalCount = 0; var list = OutDoorLuceneService.Search(model, out totalCount); var maxPrice = model.price; var currentPrice = 0m; var day = model.day; var result = new List <LinkItem>(); foreach (var item in list) { currentPrice += ((item.Price / 365) * day); int privceValue = Convert.ToInt32(currentPrice); if (privceValue > maxPrice) { currentPrice -= ((item.Price / 365) * day); break; } else { result.Add(item); } } ViewBag.currentPrice = currentPrice.ToString("F2"); ViewBag.Dq = Convert.ToDateTime(model.dq).ToString("yyyy-MM-dd") + " 至 " + Convert.ToDateTime(model.dq).AddDays(model.day).ToString("yyyy-MM-dd"); //return Json(result, JsonRequestBehavior.AllowGet); return(View(result)); }
public ActionResult Download(int periodNumber, int periodCate, string mediaIds, string dq) { var idList = Utilities.GetIdList(mediaIds); var list = new List <LinkItem>(); var currentPrice = 0m; if (idList.Any()) { list = OutDoorLuceneService.Search(idList); var scheme = new Scheme() { AddTime = DateTime.Now, Description = ConfigSetting.SiteName + "方案生成", Name = ConfigSetting.SiteName + "方案生成", ID = 0 }; var model = new SchemePrintViewModel() { ID = scheme.ID, Medias = list, AddTime = scheme.AddTime, Description = scheme.Description, Name = scheme.Name }; var day = periodNumber * periodCate; foreach (var item in list) { currentPrice += ((item.Price / 365) * day); } model.TotalPrice = currentPrice.ToString("F2"); model.DqDesc = Convert.ToDateTime(dq).ToString("yyyy-MM-dd") + " 至 " + Convert.ToDateTime(dq).AddDays(day).ToString("yyyy-MM-dd"); var html = Utilities.RenderPartialToString(this.ControllerContext, "download", new ViewDataDictionary(model), new TempDataDictionary()); byte[] data = System.Text.Encoding.UTF8.GetBytes(html); return(File(data, "text/html", Guid.NewGuid() + ".html")); } else { return(RedirectToAction("index")); } }
private QuerySource GetResult(QueryTerm queryTerm) { const int PageSize = 15; var model = new QuerySource(); var query = new List <LinkItem>(); int totalHits; Dictionary <string, string> cacheDic = CreateSearchDic("ResultList", queryTerm); Dictionary <string, string> countDic = CreateSearchDic("ResultCount", queryTerm); if (string.IsNullOrWhiteSpace(queryTerm.Dq)) { if (string.IsNullOrWhiteSpace(queryTerm.Query) && CacheService.Exists(cacheDic) && CacheService.Exists(countDic)) { query = CacheService.Get <List <LinkItem> >(cacheDic); totalHits = CacheService.GetInt32Value(countDic); } else { var searchFilter = GetSearchFilter(queryTerm.Query, queryTerm.Order, queryTerm.Descending, queryTerm.Page, PageSize); query = OutDoorLuceneService.Search(queryTerm, searchFilter, out totalHits); //query = OutDoorLuceneService.Search(out totalHits); if (string.IsNullOrWhiteSpace(queryTerm.Query)) { CacheService.Add <List <LinkItem> >(query, cacheDic, 10); CacheService.AddInt32Value(totalHits, countDic, 10); } } } else { var searchFilter = GetSearchFilter(queryTerm.Query, queryTerm.Order, queryTerm.Descending, queryTerm.Page, PageSize); query = OutDoorLuceneService.Search(queryTerm, searchFilter, out totalHits); } model.Items = query; model.TotalCount = totalHits; model.CurrentPage = queryTerm.Page; model.PageSize = PageSize; model.Querywords = string.IsNullOrEmpty(queryTerm.Query) ? "" : queryTerm.Query; return(model); }
public ActionResult show(int ID) { var outdoor = OutDoorLuceneService.Search(ID); if (outdoor.Status < (int)OutDoorStatus.ShowOnline) { return(HttpNotFound()); } var company = CompanyService.Find(outdoor.MemberID); if (company == null || outdoor == null) { return(HttpNotFound()); } CompanyIndexViewModel model = new CompanyIndexViewModel(); model.BannerImg = company.BannerImg; model.LogoImg = company.LogoImg; model.ID = company.MemberID; model.Name = company.Name; var cityIds = Utilities.GetIdList(company.CityCodeValue); var cityName = string.Join(" - ", CityCateService.GetALL() .Where(x => cityIds.Contains(x.ID)) .ToList().Select(x => x.CateName)); model.CityName = cityName; model.Description = company.Description; model.LinkMan = company.LinkMan; model.Sex = company.Sex; model.Lat = company.Lat; model.Lng = company.Lng; model.Mobile = company.Mobile; model.Phone = company.Phone; model.QQ = company.QQ; model.Address = company.Address; model.Categories = GetCompanyCategorise(outdoor.MemberID); model.Links = outdoor; return(View(model)); }
public ActionResult Index(string id) { var reg = new Regex("(\\d+)(,(\\d+)){0,4}"); if (!reg.IsMatch(id)) { return(Content("<script>alert('您输入的地址有误!');window.histroy.go(-1);</script>")); } var IdArr = Utilities.GetIdList(id).Distinct(); var model = OutDoorLuceneService.Search(IdArr); return(View(model)); }
public ActionResult GetSearchArea(float minX, float minY, float maxX, float maxY, int page = 1, int category = 0, int price = 0) { var model = new QuerySource(); var result = new List <LinkItem>(); QueryTerm query = new QueryTerm(); query.MinX = minX; query.MinY = minY; query.MaxX = maxX; query.MaxY = maxY; if (category != 0) { query.MediaCode = category; query.MediaMaxCode = Utilities.GetMaxCode(category); } if (price != 0) { query.Price = price; } var pageSize = 10; int totalHits = 0; SearchFilter sf = new SearchFilter(); sf.PageSize = pageSize; sf.Skip = (page - 1) * pageSize; sf.Take = pageSize; sf.SortProperty = SortProperty.Published; sf.SortDirection = SortDirection.Descending; result = OutDoorLuceneService.Search(query, sf, out totalHits); model.Items = result; model.TotalCount = totalHits; model.CurrentPage = page; model.PageSize = pageSize; return(Json(model, JsonRequestBehavior.AllowGet)); }