/// <summary> /// Tworzenie modelu /// </summary> /// <typeparam name="T">Typ obiektu</typeparam> /// <typeparam name="U">TYp filtra</typeparam> /// <param name="filterKey">Klucz do zapisanego filtra w sesji</param> /// <param name="settingsKey">Klucz do zapisanych stawień w sesji</param> /// <param name="page">Strona</param> /// <param name="sortExpression">Wyrażenie sortowania</param> /// <param name="accending">rosnące?</param> /// <param name="repo">Analizowany zbiór</param> /// <returns></returns> protected T CreateModel <T, U, Q>( FilterSettingsKey filterKey, PageSettingsKey settingsKey, int?page, string sortExpression, bool?accending, IQueryable <Q> repo, delegateFilter <U, Q> method) where T : ListViewModel where U : ViewModelFilterBase where Q : Entity { var filter = PageSettingsOrder <U>(filterKey, settingsKey, ref page, ref sortExpression, ref accending); page = page ?? 1; sortExpression = string.IsNullOrEmpty(sortExpression) ? "Id" : sortExpression; accending = !accending.HasValue || accending.Value; // Przygotowanie informacji o stronnicowaniu var paginationInfo = new AdPaginationInfo { Accending = (bool)accending, ItemsPerPage = ItemsPerPage, RequestedPage = (int)page, SortExpression = sortExpression }; // Pobranie danych z repozytorium var query = repo; filter = method(ref query, filter); paginationInfo.OutResultsFound = query.Count(); int correctPageNo; var skip = GetSkip(paginationInfo.RequestedPage, paginationInfo.ItemsPerPage, paginationInfo.OutResultsFound, out correctPageNo); paginationInfo.RequestedPage = correctPageNo; if (PageSettings.GetFromSession(PageSettingsKey.CampaignCategoriesPageSettings) != null) { PageSettings.GetFromSession(PageSettingsKey.CampaignCategoriesPageSettings).Page = paginationInfo.RequestedPage; } query = query.OrderBy(paginationInfo.SortExpression, paginationInfo.Accending).Skip(skip).Take(paginationInfo.ItemsPerPage); var test = query.ToList(); var ret = Activator.CreateInstance <T>(); // Zbudowanie modelu listy ret.Query = (IQueryable <Entity>)query; ret.CurrentPage = paginationInfo.RequestedPage; ret.SortExpression = paginationInfo.SortExpression; ret.NumberOfResults = paginationInfo.OutResultsFound; ret.ItemsPerPage = paginationInfo.ItemsPerPage; ret.SortAccending = paginationInfo.Accending; ret.FilerBase = filter; return(ret); }
/// <summary> /// Filter /// </summary> /// <param name="_bitmap"></param> /// <returns></returns> public Bitmap filter(Bitmap _bitmap) { int height = _bitmap.Height; int weight = _bitmap.Width; Bitmap newBitmap = new Bitmap(weight, height); for (int i = 0; i < weight; i++) { for (int j = 0; j < height; j++) { var colPixel = _bitmap.GetPixel(i, j); delegateFilter lambaConv = delegate(int _value) { return(255 - _value); };; newBitmap.SetPixel(i, j, Color.FromArgb(lambaConv(colPixel.R), lambaConv(colPixel.G), lambaConv(colPixel.G))); } } return(newBitmap); }