示例#1
0
        public async Task <IActionResult> Filter(string searchTerm, int?pageSize, int?pageNumber)
        {
            searchTerm = searchTerm ?? string.Empty;

            var userSensors = await this.userSensorService.FilterUserSensorsAsync(searchTerm, pageNumber ?? 1, pageSize ?? 10);

            var model = new SensorIndexViewModel(userSensors, searchTerm);

            return(PartialView("_SensorTablePartial", model.Table));
        }
示例#2
0
        public async Task <IActionResult> Index()
        {
            try
            {
                var usersensors = await _userSensorService.FilterAllSensorsAsync();

                var model = new SensorIndexViewModel(usersensors);

                return(View(model));
            }
            catch
            {
                return(View("PageNotFound"));
            }
        }
示例#3
0
        public async Task <IActionResult> Index(string id, int?pageNumber, int?pageSize)
        {
            if (id == null)
            {
                throw new ApplicationException($"Passed ID parameter is absent.");
            }

            var userSensors = await this.userSensorService.GetSensorsByUserId(id, pageNumber ?? 1, pageSize ?? 10);

            if (userSensors.Count == 0)
            {
                throw new ApplicationException($"Unable to find user sensors for user with ID '{id}'.");
            }

            var model = new SensorIndexViewModel(userSensors, string.Empty);

            return(View(model));
        }
示例#4
0
        public async Task <IActionResult> Filter(string sortOrder, string searchTerm, int?pageSize, int?pageNumber)
        {
            try
            {
                sortOrder  = sortOrder ?? string.Empty;
                searchTerm = searchTerm ?? string.Empty;

                var users = await _userSensorService.FilterAllSensorsAsync(sortOrder, searchTerm, pageNumber ?? 1, pageSize ?? 10);

                var model = new SensorIndexViewModel(users);

                return(View("Index", model));
            }
            catch
            {
                return(View("PageNotFound"));
            }
        }
示例#5
0
        public async Task <IActionResult> Index()
        {
            if (!this.memoryCache.TryGetValue("ListOfUserSensors", out IPagedList <UserSensor> userSensors))
            {
                userSensors = await this.userSensorService.FilterUserSensorsAsync();

                MemoryCacheEntryOptions options = new MemoryCacheEntryOptions
                {
                    AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(25),
                    SlidingExpiration = TimeSpan.FromSeconds(5)
                };

                this.memoryCache.Set("ListOfUserSensors", userSensors, options);
            }

            var model = new SensorIndexViewModel(userSensors);

            return(View(model));
        }
示例#6
0
        public async Task <IActionResult> Edit(SensorDetailsViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                var sensor = await _userSensorService.FindAsync(model.Id);

                if (sensor == null)
                {
                    throw new ApplicationException($"Unable to find sensor with ID '{model.Id}'.");
                }

                if (sensor.Longitude != model.Longitude || sensor.Latitude != model.Latitude)
                {
                    await _userSensorService.ChangeCoordinatesAsync(model.Id, model.Longitude, model.Latitude);
                }

                if (model.Default == null)
                {
                    if (sensor.UserMinValue != model.MinValue || sensor.UserMaxValue != model.MaxValue)
                    {
                        await _userSensorService.ChangeMinMaxAsync(model.Id, model.MinValue, model.MaxValue);
                    }
                }
                else
                {
                    if (sensor.UserMinValue != int.Parse(model.Default))
                    {
                        await _userSensorService.ChangeMinMaxAsync(model.Id, int.Parse(model.Default), int.Parse(model.Default));
                    }
                }

                if (sensor.IsPublic != model.IsPublic)
                {
                    await _userSensorService.ChangeIsPublicAsync(model.Id, model.IsPublic);
                }

                if (sensor.IsRequiredNotification != model.IsRequiredNotification)
                {
                    await _userSensorService.ChangeIsRequiredNotificationAsync(model.Id, model.IsRequiredNotification);
                }

                if (sensor.Name != model.Name)
                {
                    await _userSensorService.ChangeNameAsync(model.Id, model.Name);
                }

                if (sensor.UpdateInterval != model.UpdateInterval)
                {
                    await _userSensorService.ChangeUpdatenIntervalAsync(model.Id, model.UpdateInterval);
                }

                if (sensor.Description != model.Description)
                {
                    await _userSensorService.ChangeDescriptionAsync(model.Id, model.Description);
                }

                var usersensors = await _userSensorService.FilterAllSensorsAsync();

                var newModel = new SensorIndexViewModel(usersensors);

                return(View("Index", newModel));
            }
            catch
            {
                return(View("PageNotFound"));
            }
        }