/// <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);
        }
Example #2
0
        /// <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);
        }