public IHttpActionResult GetClassified(string classifiedId) { ClaimsPrincipal principal = (ClaimsPrincipal)Request.GetRequestContext().Principal; var userId = principal.Identity.GetUserId(); try { Classified classified = new Classified(Encoding.UTF8.GetString(Convert.FromBase64String(classifiedId))); classified.ValidOrBreak(); classified.oCategory = new ClsGrpSimple(classified.Category); classified.CheckOwnership(userId); var newJsWidget = new UserJustShareWidget(classified); if (userId != null) { newJsWidget.LoadMessages(userId); } return(Ok( new { justShareDetails = classified, justShareWidget = newJsWidget })); } catch (InvalidModelException e) { return(BadRequest()); } catch (Exception e) { return(BadRequest()); } }
public async Task <IHttpActionResult> GetFiltered(NNClassifiedsFilter filter) { ClaimsPrincipal principal = (ClaimsPrincipal)Request.GetRequestContext().Principal; Dictionary <string, object> infoParameters = new Dictionary <string, object>(); List <Classified> oClassifieds = new List <Classified>(); Classified oClassified; Pagination pagination = new Pagination(); int nPages = 0; // No filters selected, returns right away if (filter.Categories.ToList().Count == 0) { return(Ok(new { justShareGridData = new { items = oClassifieds, pagination } })); } Task <int> tPagination = pagination.GetPagination(filter); infoParameters.Add("Page", filter.Page); infoParameters.Add("PageSize", filter.PageSize); infoParameters.Add("Category", string.Join("|", filter.Categories)); infoParameters.Add("Type", filter.Type); infoParameters.Add("Word", filter.Word); DataTable oClassDB = DBConn.ExecuteCommand("sp_Classifieds_GetFiltered", infoParameters).Tables[0]; if (oClassDB.Rows.Count > 0) { foreach (DataRow row in oClassDB.Rows) { oClassified = new Classified(); oClassified.MapFromTableRow(row); if (oClassified.isValid) { oClassified.oAuthor = new UserSimple(oClassified.CreatedBy); oClassified.oCategory = new ClsGrpSimple(oClassified.Category); oClassified.CheckOwnership(principal.Identity.GetUserId()); oClassifieds.Add(oClassified); } } } // Wait for the pagination nPages = await tPagination; return(Ok(new { justShareGridData = new { items = oClassifieds, pagination } })); }