예제 #1
0
        public JsonResult GetAllCatalogData(string name)
        {
            try
            {
                int    length         = int.Parse(Request.Query["length"]);
                int    start          = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(int.Parse(Request.Query["start"]) / length))) + 1;
                string searchValue    = Request.Query["search[value]"];
                string sortColumnName = Request.Query["columns[" + Request.Query["order[0][column]"] + "][name]"];
                string sortDirection  = Request.Query["order[0][dir]"];

                CatalogDataPaging apg = new CatalogDataPaging();
                apg.data = new List <CatalogDataModel>();
                start    = (start - 1) * length;
                List <Catalog_Data> listCatalogData = new List <Catalog_Data>();
                if (!string.IsNullOrEmpty(name))
                {
                    listCatalogData = _context.Catalog_Datas.Where(x => x.DeviceName == name).ToList <Catalog_Data>();
                }
                else
                {
                    listCatalogData = _context.Catalog_Datas.ToList <Catalog_Data>();
                }

                apg.recordsTotal = listCatalogData.Count;
                //filter
                if (!string.IsNullOrEmpty(searchValue))
                {
                    listCatalogData = listCatalogData.Where(x => x.DeviceName.ToLower().Contains(searchValue.ToLower())).ToList <Catalog_Data>();
                }


                apg.recordsFiltered = listCatalogData.Count;
                //paging
                listCatalogData = listCatalogData.Skip(start).Take(length).ToList <Catalog_Data>();

                foreach (var i in listCatalogData)
                {
                    CatalogDataModel rm = new CatalogDataModel
                    {
                        TagName    = i.TagName,
                        DeviceName = i.DeviceName,
                        Address    = i.Address,
                        Unit       = i.Unit,
                        WarningMax = i.WarnningMax,
                        WarningMin = i.WarnningMin,
                        Actions    = ""
                    };
                    apg.data.Add(rm);
                }

                apg.draw = int.Parse(Request.Query["draw"]);
                return(Json(apg));
                /*return Json(apg, JsonRequestBehavior.AllowGet);*/
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
예제 #2
0
        public bool CanRemoveCatalog(CatalogDataModel dataModel)
        {
            var catalog = dataModel.Catalog;
            if (catalog.Type != CatalogType.OPDS)
                return false;

            if (catalog.IconLocalPath != null && catalog.IconLocalPath.StartsWith("/Resources/Icons/"))
                return false;

            return true;
        }
예제 #3
0
        public CatalogDataModel ToCatalogDataModel(CatalogModel catalog)
        {
            var dataModel = new CatalogDataModel
            {
                Catalog     = catalog,
                Icon        = catalog.IconLocalPath,
                Title       = catalog.Title,
                Description = catalog.Description
            };

            return(dataModel);
        }
예제 #4
0
        public CatalogDataModel ToCatalogDataModel(CatalogModel catalog)
        {
            var dataModel = new CatalogDataModel();

            dataModel.Catalog     = catalog;
            dataModel.Icon        = catalog.IconLocalPath;
            dataModel.Title       = catalog.Title;
            dataModel.Description = catalog.Description;

            switch (catalog.Type)
            {
            case CatalogType.SDCard:
                dataModel.Title       = UIStrings.SDCard_Catalog_Title;
                dataModel.Description = UIStrings.SDCard_Catalog_Description;
                break;

            case CatalogType.SkyDrive:
                dataModel.Title       = UIStrings.SkyDrive_Catalog_Title;
                dataModel.Description = UIStrings.SkyDrive_Catalog_Description;
                break;
            }
            switch (catalog.Title)
            {
            case "FBReader_Litres":
                dataModel.Title       = UIStrings.Litres_Catalog_Title;
                dataModel.Description = UIStrings.Litres_Catalog_Descritption;
                break;

            case "FBReader_Flibusta":
                dataModel.Title       = UIStrings.Flibusta_Catalog_Title;
                dataModel.Description = UIStrings.Flibusta_Catalog_Description;
                break;

            case "FBReader_Manybooks":
                dataModel.Title       = UIStrings.Catalog_Manybooks_Title;
                dataModel.Description = UIStrings.Catalog_Manybooks_Description;
                break;

            case "FBReader_Prochtenie":
                dataModel.Title       = UIStrings.Catalog_Prochtenie_Title;
                dataModel.Description = UIStrings.Catalog_Prochtenie_Description;
                break;
            }
            return(dataModel);
        }
예제 #5
0
        public void NavigateToCatalog(CatalogDataModel model)
        {
            if (model == null)
            {
                return;
            }
            var catalog = model.Catalog;

            _navigationService.UriFor<CatalogPageViewModel>()
                              .WithParam(vm => vm.CatalogId, catalog.Id)
                              .WithParam(vm => vm.DisplayName, model.Title.ToUpper())
                              .WithParam(vm => vm.IsSearchEnabled, 
                                                    !string.IsNullOrEmpty(catalog.SearchUrl) 
                                                    || catalog.Type == CatalogType.SDCard
                                                    || catalog.Type == CatalogType.SkyDrive)
                              .WithParam(vm => vm.CanRefresh, catalog.Type != CatalogType.SDCard)
                              .Navigate();
        }
예제 #6
0
 public void RemoveCatalog(CatalogDataModel catalogModel)
 {
     _catalogRepository.Remove(catalogModel.Catalog);
     Catalogs.Remove(catalogModel);
 }