public IHttpActionResult Gets(DTO.Search searchInput) { Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanRead)) { return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } BLL.ReportFreeToSaleOverview bll = new BLL.ReportFreeToSaleOverview(); Library.DTO.Notification notification; int totalRows = 0; DTO.ReportFreeToSale.SearchFormData data = bll.GetFreeToSaleSearch(ControllerContext.GetAuthUserId(), searchInput.Filters, searchInput.PageSize, searchInput.PageIndex, searchInput.SortedBy, searchInput.SortedDirection, out totalRows, out notification); return(Ok(new Library.DTO.ReturnData <DTO.ReportFreeToSale.SearchFormData>() { Data = data, Message = notification, TotalRows = totalRows })); }
public DTO.ReportFreeToSale.SearchFormData GetFreeToSaleSearch(Hashtable filters, int pageSize, int pageIndex, string orderBy, string orderDirection, out int totalRows, out Library.DTO.Notification notification) { DTO.ReportFreeToSale.SearchFormData searchFormData = new DTO.ReportFreeToSale.SearchFormData(); notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success }; totalRows = 0; string ArticleCode = string.Empty; string Description = string.Empty; string MaterialNM = string.Empty; string MaterialTypeNM = string.Empty; string MaterialColorNM = string.Empty; string CushionNM = string.Empty; if (filters.ContainsKey("ArticleCode")) { ArticleCode = filters["ArticleCode"].ToString(); } if (filters.ContainsKey("Description")) { Description = filters["Description"].ToString(); } if (filters.ContainsKey("MaterialNM")) { MaterialNM = filters["MaterialNM"].ToString(); } if (filters.ContainsKey("MaterialTypeNM")) { MaterialTypeNM = filters["MaterialTypeNM"].ToString(); } if (filters.ContainsKey("MaterialColorNM")) { MaterialColorNM = filters["MaterialColorNM"].ToString(); } if (filters.ContainsKey("CushionNM")) { CushionNM = filters["CushionNM"].ToString(); } try { using (ReportFTSEntities context = CreateContext()) { totalRows = context.ReportMng_action_GetSearchFreeToSale(orderBy, orderDirection, ArticleCode, Description, MaterialNM, MaterialTypeNM, MaterialColorNM, CushionNM).Count(); //total fields var s = context.ReportMng_FreeToSaleOverview_View.ToList(); searchFormData.TotalFTSQnt = s.Sum(o => (o.FTSQnt.HasValue?o.FTSQnt.Value:0)); searchFormData.TotalFTSQntIn40HC = s.Sum(o => (o.FTSQntIn40HC.HasValue ? o.FTSQntIn40HC.Value : 0)); //search result var result = context.ReportMng_action_GetSearchFreeToSale(orderBy, orderDirection, ArticleCode, Description, MaterialNM, MaterialTypeNM, MaterialColorNM, CushionNM); searchFormData.Data = converter.DB2DTO_FreeToSaleSearch(result.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList()); } return(searchFormData); } catch (Exception ex) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = ex.Message; notification.DetailMessage.Add(ex.Message); if (ex.GetBaseException() != null) { notification.DetailMessage.Add(ex.GetBaseException().Message); } return(searchFormData); } }