コード例 #1
0
        /// <summary>
        /// Metode kura izgust nepieciešamos datus un attelo Administratora sakuma skatu
        /// </summary>
        /// <param name="searchData">Meklēšanas dati</param>
        /// <param name="Page">Lappuse</param>
        /// <returns></returns>
        public ActionResult Index(IndexSearchModel searchData, int Page = 1)
        {
            AdminIndexViewModel viewModel = new AdminIndexViewModel();

            //Dati kuros glabasies visas preces ar nomniekiem un terminiem
            IQueryable<PreceTerminsNomnieksModel> allData;

            //Iejjas datu pārbaude un redefinēšana
            viewModel.SearchData = new IndexSearchModel
            {
                IrKavejums = searchData.IrKavejums,
                Iznomatajs = searchData.Iznomatajs ?? "",
                PrecesKategorija = searchData.PrecesKategorija ?? SELECT_ALL,
                PrecesKategorijas = searchData.PrecesKategorijas,
                PrecesKods = searchData.PrecesKods ?? "",
                PrecesNosaukums = searchData.PrecesNosaukums ?? ""
            };

            //Izgust visas Preces ar un bez termiņiem un nomniekiem
            allData = getAllPreces();

            //Veic datu ievietošanu skata modelī un nepieciešamo aprēķinu
            IQueryable<PreceTerminsNomnieksViewModel> allViewData = allData.Select(ptn => new PreceTerminsNomnieksViewModel
                                                     {
                                                         PrecesID = ptn.Prece.PrecesID,
                                                         IznomatajaID = ptn.Nomnieks.NomniekaID,
                                                         TerminaID = ptn.Termins.TerminaID,

                                                         PrecesKods = ptn.Prece.PrecesKods ?? "",
                                                         PrecesNosaukums = ptn.Prece.PrecesNosaukums ?? "",
                                                         PrecesNomasCena = ptn.Prece.PrecesCena,
                                                         PrecesKategorija = ptn.Prece.Kategorija.PrecesKategorija ?? "",
                                                         Iznomatajs = (ptn.Nomnieks.NomniekaVards + " " + ptn.Nomnieks.NomniekaUzvards) ?? "",
                                                         NodosanasDatums = ptn.Termins.NodosanasDatums,

                                                         //Kavējuma konstatēšana
                                                         IrKavejums = ((ptn.Termins.NodosanasDatums.HasValue) && (EntityFunctions.DiffDays(ptn.Termins.NodosanasDatums.Value, DateTime.Now) > 0)),
                                                         KavejumaSods = ((ptn.Termins.NodosanasDatums.HasValue) && (EntityFunctions.DiffDays(ptn.Termins.NodosanasDatums.Value, DateTime.Now) > 0))
                                                                        ? (decimal) EntityFunctions.DiffDays(ptn.Termins.NodosanasDatums, DateTime.Now) * PENALITY_PERCENTS * ptn.Prece.PrecesCena
                                                                        : (decimal?) null
                                                     });

            //Veic datu atlasi pēc meklēšanas kritērijiem
            IQueryable<PreceTerminsNomnieksViewModel> filteredViewData = allViewData
                .Where(ptnViewModel => ptnViewModel.Iznomatajs.Contains(viewModel.SearchData.Iznomatajs))
                .Where(ptnViewModel => ptnViewModel.PrecesKods.Contains(viewModel.SearchData.PrecesKods))
                .Where(ptnViewModel => ptnViewModel.PrecesNosaukums.Contains(viewModel.SearchData.PrecesNosaukums))
                .Where(
                    ptnViewModel =>
                    ptnViewModel.PrecesKategorija == viewModel.SearchData.PrecesKategorija ||
                    viewModel.SearchData.PrecesKategorija == SELECT_ALL)
                .Where(ptnViewModel => viewModel.SearchData.IrKavejums ? ptnViewModel.IrKavejums : true);

            //Veic datu atlasi ko paradīs vienā lapā
            IQueryable<PreceTerminsNomnieksViewModel> pageViewData = filteredViewData
                .OrderBy(ptn => ptn.PrecesNomasCena)
                .Skip((Page - 1) * PageSize)
                .Take(PageSize);

            viewModel.IndexTableData = pageViewData;

            viewModel.PagingInfo = new PagingInfo
                                       {
                                           CurrentPage = Page,
                                           ItemsPerPage = PageSize,
                                           TotalItems = filteredViewData.Count()
                                       };

            return View(viewModel);
        }
コード例 #2
0
        public PartialViewResult IndexSearch(IndexSearchModel searchData)
        {
            //Parkope vertibas lokalaja mainigaja
            IndexSearchModel searchModel = new IndexSearchModel
                                               {
                                                   PrecesNosaukums = searchData.PrecesNosaukums,
                                                   PrecesKategorija = searchData.PrecesKategorija ?? SELECT_ALL,
                                                   PrecesKods = searchData.PrecesKods,
                                                   Iznomatajs = searchData.Iznomatajs,
                                                   IrKavejums = searchData.IrKavejums,
                                               };

            //Izgust kategorijas ko izmantos dorpdownlist uz IndexSearch skata
            IEnumerable<SelectListItem> selectListItems = dataRepostory.Kategorijas
                                                                       .Select(kategorija => new SelectListItem
                                                                                                 {
                                                                                                     Value =kategorija.PrecesKategorija,
                                                                                                     Text = kategorija.PrecesKategorija
                                                                                                 });
            //Pievieno vel vienu kategoriju ar kuras palidzibu vares izveleties visas preces
            IEnumerable<SelectListItem> aListItems = new[] { new SelectListItem { Text = "Visas kategorijas", Value = SELECT_ALL } };

            //Apvieno kategorijas sarakstu ar visu kategoriju izvelnes sarakstu
            selectListItems = selectListItems.Concat(aListItems);

            //Nodrošina pareizo izvelēto vertību attēlošanu pēc katra pieprasijuma izmantojot SelectListItem Selected lauku
            searchModel.PrecesKategorijas = new SelectList(selectListItems.Select(li => new SelectListItem
                                                                                            {
                                                                                                Selected = (searchModel.PrecesKategorija == li.Value),
                                                                                                Text =li.Text,
                                                                                                Value = li.Value
                                                                                            }
                                                                                ),"Value","Text"
                                                           );

            return PartialView(searchModel);
        }