public override DTO.SearchFormDataDTO GetDataWithFilter(System.Collections.Hashtable filters, int pageSize, int pageIndex, string orderBy, string orderDirection, out int totalRows, out Library.DTO.Notification notification) { notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success }; DTO.SearchFormDataDTO data = new DTO.SearchFormDataDTO(); data.Data = new List <DTO.SampleItemSearchResultDTO>(); totalRows = 0; string SampleOrderUD = null; string Season = null; string ClientUD = null; int? SampleProductStatusID = null; int UserID; string SampleItemCode = null; string SampleItemName = null; if (filters.ContainsKey("SampleOrderUD") && !string.IsNullOrEmpty(filters["SampleOrderUD"].ToString())) { SampleOrderUD = filters["SampleOrderUD"].ToString().Replace("'", "''"); } if (filters.ContainsKey("Season") && filters["Season"] != null && !string.IsNullOrEmpty(filters["Season"].ToString())) { Season = filters["Season"].ToString().Replace("'", "''"); } if (filters.ContainsKey("ClientUD") && !string.IsNullOrEmpty(filters["ClientUD"].ToString())) { ClientUD = filters["ClientUD"].ToString().Replace("'", "''"); } if (filters.ContainsKey("SampleProductStatusID") && filters["SampleProductStatusID"] != null && !string.IsNullOrEmpty(filters["SampleProductStatusID"].ToString())) { SampleProductStatusID = Convert.ToInt32(filters["SampleProductStatusID"].ToString()); } if (filters.ContainsKey("SampleItemCode") && !string.IsNullOrEmpty(filters["SampleItemCode"].ToString())) { SampleItemCode = filters["SampleItemCode"].ToString().Replace("'", "''"); } if (filters.ContainsKey("SampleItemName") && !string.IsNullOrEmpty(filters["SampleItemName"].ToString())) { SampleItemName = filters["SampleItemName"].ToString().Replace("'", "''"); } UserID = Convert.ToInt32(filters["UserID"].ToString()); try { using (SampleItemMngEntities context = CreateContext()) { totalRows = context.SampleItemMng_function_SearchSampleItem(SampleOrderUD, Season, ClientUD, SampleProductStatusID, UserID, orderBy, orderDirection, SampleItemCode, SampleItemName).Count(); var result = context.SampleItemMng_function_SearchSampleItem(SampleOrderUD, Season, ClientUD, SampleProductStatusID, UserID, orderBy, orderDirection, SampleItemCode, SampleItemName); data.Data = converter.DB2DTO_SampleItemSearchResultDTOs(result.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList()); } } catch (Exception ex) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = Library.Helper.HandleExceptionSingleLine(ex); } return(data); }