public static SearchResult GetAllMarketJobs(MarketJobSearchModel model, Login login) { var searchResult = new SearchResult { SearchCount = 0 }; return(searchResult); }
public ActionResult MyMarketJobs(MarketJobSearchModel model) { var user = User.Identity.Name; var login = AccountService.GetLoginByEmail(user); model.IsOwnerView = true; if (model.SortOrder == null) { model.SortOrder = "Latest Listing"; } var result = JobService.GetAllMarketJobs(model, login); model.PagedInput = new PagedInput { ActionName = "Jobs", ControllerName = "Manage", PagedLinkValues = new RouteValueDictionary(new { SortOrder = model.SortOrder, SearchString = model.SearchString }) }; var rvr = new RouteValueDictionary(new { SearchString = model.SearchString }); var sortOrders = new List <SortOrderModel>(); sortOrders.Add(new SortOrderModel { SortOrder = "Highest New Quotes", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Highest New Quotes") }); sortOrders.Add(new SortOrderModel { SortOrder = "Lowest New Quotes", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Lowest New Quotes") }); sortOrders.Add(new SortOrderModel { SortOrder = "Title", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Title") }); sortOrders.Add(new SortOrderModel { SortOrder = "Title(Desc)", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Title(Desc)") }); sortOrders.Add(new SortOrderModel { SortOrder = "Lowest Budget", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Lowest Budget") }); sortOrders.Add(new SortOrderModel { SortOrder = "Highest Budget", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Highest Budget") }); sortOrders.Add(new SortOrderModel { SortOrder = "Earliest Listing", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Earliest Listing") }); sortOrders.Add(new SortOrderModel { SortOrder = "Latest Listing", ActionName = "MyMarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Latest Listing") }); model.SortOrders = sortOrders; model.SearchCount = result.SearchCount; if (String.IsNullOrWhiteSpace(model.SearchString)) { model.Page = 1; } model.PageCount = result.Items.PageCount; model.Items = result.Items; model.EditUrl = "/Jobs/Home/EditJobFromMarket"; model.DeleteUrl = "/Jobs/Home/RemoveJobFromMarket"; TempData["CurrentLink"] = "MarketJobsOwner"; return(View(model)); }
public ActionResult MarketJobs(MarketJobSearchModel model) { var user = User.Identity.Name; var login = AccountService.GetLoginByEmail(user); model.IsOwnerView = false; if (model.SortOrder == null) { model.SortOrder = "Latest Listing"; } var result = JobService.GetAllMarketJobs(model, login); model.PagedInput = new PagedInput { ActionName = "MarketJobs", ControllerName = "Home", PagedLinkValues = new RouteValueDictionary(new { SortOrder = model.SortOrder, SearchString = model.SearchString }) }; var rvr = new RouteValueDictionary(new { SearchString = model.SearchString }); var sortOrders = new List <SortOrderModel>(); sortOrders.Add(new SortOrderModel { SortOrder = "Title", ActionName = "MarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Title") }); sortOrders.Add(new SortOrderModel { SortOrder = "Title(Desc)", ActionName = "MarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Title(Desc)") }); sortOrders.Add(new SortOrderModel { SortOrder = "Lowest Budget", ActionName = "MarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Lowest Budget") }); sortOrders.Add(new SortOrderModel { SortOrder = "Highest Budget", ActionName = "MarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Highest Budget") }); sortOrders.Add(new SortOrderModel { SortOrder = "Earliest Listing", ActionName = "MarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Earliest Listing") }); sortOrders.Add(new SortOrderModel { SortOrder = "Latest Listing", ActionName = "MarketJobs", RouteValues = rvr.AddRouteValue("SortOrder", "Latest Listing") }); model.IsUserServiceSupply = CompanyService.IsUserServiceSupplier(user); model.IsProfileComplete = CompanyService.IsProfileComplete(login); model.SortOrders = sortOrders; model.SearchCount = result.SearchCount; if (String.IsNullOrWhiteSpace(model.SearchString)) { model.Page = 1; } model.PageCount = result.Items.PageCount; model.Items = result.Items; TempData["CurrentLink"] = "MarketJobs"; return(View(model)); }
public ActionResult MarketJobs(MarketJobSearchModel model) { TempData["CurrentLink"] = "MarketJobs"; return(View()); }
public static SearchResult GetAllMarketJobs(MarketJobSearchModel model, Login login) { using (var db = new KeysEntities()) { var data = db.TenantJobRequest.Where(x => x.JobStatusId == 1); var ownerJobRequests = data.Where(x => x.OwnerId == login.Id); var ownerJobRequestsId = ownerJobRequests.Select(x => x.Id); if (model.IsOwnerView) { data = ownerJobRequests; } var result = data.Select(x => new MarketJobViewModel { Model = new MarketJobModel { Id = x.Id, PropertyId = x.PropertyId, Title = x.Title, JobDescription = x.JobDescription, MaxBudget = x.MaxBudget, MediaFiles = x.TenantJobRequestMedia.Select(y => new MediaModel { Data = y.NewFileName, Id = y.Id, NewFileName = y.NewFileName, OldFileName = y.OldFileName, Status = "load", }).ToList() }, Address = new AddressViewModel { AddressId = x.Property.Address.AddressId, CountryId = x.Property.Address.CountryId, Number = x.Property.Address.Number.Replace(" ", ""), Street = x.Property.Address.Street.Trim(), City = x.Property.Address.City.Trim(), Suburb = x.Property.Address.Suburb.Trim() ?? "", PostCode = x.Property.Address.PostCode.Replace(" ", ""), Latitude = x.Property.Address.Lat, Longitude = x.Property.Address.Lng }, PropertyAddress = x.Property.Address.Number + " " + x.Property.Address.Street + ", " + x.Property.Address.Suburb + ", " + x.Property.Address.City, IsOwnedByUser = model.IsOwnerView ? model.IsOwnerView : x.OwnerId == login.Id, IsApplyByUser = db.JobQuote.Any(y => y.JobRequestId == x.Id && y.ProviderId == login.Id && y.Status.ToLower() == "opening"), NewQuotesCount = x.JobQuote.Where(y => y.Status.ToLower() == "opening" && !(y.IsViewed ?? false)).Count(), CreatedOn = x.CreatedOn, }); var allItems = model.IsOwnerView ? result.OrderByDescending(x => x.NewQuotesCount).ToPagedList(model.Page, 10) : result.OrderByDescending(x => x.CreatedOn).ToPagedList(model.Page, 10); switch (model.SortOrder) { case "Title": result = result.OrderBy(s => s.Model.Title); break; case "Title(Desc)": result = result.OrderByDescending(s => s.Model.Title); break; case "Highest Budget": result = result.OrderByDescending(s => s.Model.MaxBudget); break; case "Lowest Budget": result = result.OrderBy(s => s.Model.MaxBudget); break; case "Earliest Listing": result = result.OrderBy(s => s.CreatedOn); break; case "Latest Listing": result = result.OrderByDescending(s => s.CreatedOn); break; case "Highest New Quotes": result = result.OrderByDescending(x => x.NewQuotesCount); break; case "Lowest New Quotes": result = result.OrderBy(x => x.NewQuotesCount); break; default: result = model.IsOwnerView? result.OrderByDescending(x => x.NewQuotesCount) : result.OrderByDescending(s => s.CreatedOn); break; } if (!String.IsNullOrWhiteSpace(model.SearchString)) { SearchUtil searchTool = new SearchUtil(); int searchType = searchTool.CheckDisplayType(model.SearchString); string formatString = searchTool.ConvertString(model.SearchString); switch (searchType) { case 1: result = result.Where(job => job.Model.MaxBudget.ToString() == formatString || job.PropertyAddress.ToLower().EndsWith(formatString) || (job.Model.Title ?? "").ToLower().EndsWith(formatString) || job.Model.JobDescription.ToLower().EndsWith(formatString)); break; case 2: result = result.Where(job => job.Model.MaxBudget.ToString() == formatString || job.PropertyAddress.ToLower().StartsWith(formatString) || (job.Model.Title ?? "").ToLower().StartsWith(formatString) || job.Model.JobDescription.ToLower().StartsWith(formatString)); break; case 3: result = result.Where(job => job.Model.MaxBudget.ToString() == formatString || job.PropertyAddress.ToLower().Contains(formatString) || (job.Model.Title ?? "").ToLower().Contains(formatString) || job.Model.JobDescription.ToLower().Contains(formatString)); break; } } var items = result.ToPagedList(model.Page, 10); var count = items.Count; items = count == 0 ? allItems : items; items.ToList().ForEach(x => { x.Model.MediaFiles.ForEach(y => y.InjectMediaModelViewProperties()); x.IsInWatchlist = db.JobWatchList.FirstOrDefault(y => y.PersonId == login.Id & y.MarketJobId == x.Model.Id && y.IsActive) != null; }); var searchResult = new SearchResult { SearchCount = items.Count, Items = count == 0 ? allItems : items }; return(searchResult); } }