public IActionResult SaveReRoute(string id, FileReRouteViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("FileReRoute", model));
            }

            var validator = new FileReRouteValidator();
            var results   = validator.Validate(model.FileReRoute);

            if (!results.IsValid)
            {
                results.Errors.ToList().ForEach(e => ModelState.AddModelError(e.PropertyName, e.ErrorMessage));
                return(View("FileReRoute", model));
            }

            var routes = _fileConfigRepo.Get();
            var route  = routes.Data.ReRoutes.FirstOrDefault(r => id == r.GetId());

            if (route != null)
            {
                routes.Data.ReRoutes.Remove(route);
            }

            routes.Data.ReRoutes.Add(model.FileReRoute);
            _fileConfigRepo.Set(routes.Data);

            Reload(routes.Data);

            return(RedirectToAction("Index"));
        }
Esempio n. 2
0
        public async Task <IActionResult> EditReRoute(string id, FileReRouteViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var results = ValidateModel(model);

            if (!results.IsValid)
            {
                results.Errors.ToList().ForEach(e => ModelState.AddModelError($"FileReRoute.{e.PropertyName}", e.ErrorMessage));
                return(View(model));
            }

            var routes = await _fileConfigRepo.Get();

            var route = routes.Data.ReRoutes.FirstOrDefault(r => id == r.GetId());

            if (route != null)
            {
                routes.Data.ReRoutes.Remove(route);
            }

            routes.Data.ReRoutes.Add(model.FileReRoute);
            var response = await _fileConfigRepo.Set(routes.Data);

            await _reload.AddReloadFlag();

            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        public IActionResult CreateReRoute(string id, FileReRouteViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var validator = new FileReRouteValidator();
            var results   = validator.Validate(model.FileReRoute);

            if (!results.IsValid)
            {
                results.Errors.ToList().ForEach(e => ModelState.AddModelError($"FileReRoute.{e.PropertyName}", e.ErrorMessage));
                return(View(model));
            }

            var routes = _fileConfigRepo.Get().GetAwaiter().GetResult();

            routes.Data.ReRoutes.Add(model.FileReRoute);
            _fileConfigRepo.Set(routes.Data);

            _reload.AddReloadFlag();

            return(RedirectToAction("Index"));
        }
        public IActionResult CreateReRoute()
        {
            var viewModel = new FileReRouteViewModel {
                FileReRoute = new FileReRoute()
            };

            return(View("FileReRoute", viewModel));
        }
Esempio n. 5
0
        private ValidationResult ValidateModel(FileReRouteViewModel model)
        {
            var hostAndPortValidator = new HostAndPortValidator();
            var fileQoSValidator     = new FileQoSOptionsFluentValidator(_serviceProvider);
            var validator            = new ReRouteFluentValidator(null, hostAndPortValidator, fileQoSValidator);

            return(validator.Validate(model.FileReRoute));
        }
Esempio n. 6
0
        public async Task <IActionResult> CreateReRoute(string id, FileReRouteViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var results = ValidateModel(model);

            if (!results.IsValid)
            {
                results.Errors.ToList().ForEach(e => ModelState.AddModelError($"FileReRoute.{e.PropertyName}", e.ErrorMessage));
                return(View(model));
            }

            var routes = await _configuration.GetConfig();

            routes.Data.ReRoutes.Add(model.FileReRoute);
            await _configuration.SetConfig(routes.Data);

            _configuration.AddReloadFlag();

            return(RedirectToAction("Index"));
        }