public async Task <IActionResult> Login(LoginModel model) { Current_user = ""; if (ModelState.IsValid) { var user = new User() { Login = model.Login, Password = model.Password }; //после проверки логина и пароля -формируем строку для подключения к бд _connectionString.SetConnectionString(user); //пытаемся авторизироваться при помощи введенных логина и пароля try { var connString = _connectionString.GetConnectionString(); using (var conn = new NpgsqlConnection(connString)) { conn.Open(); using (var cmd = new NpgsqlCommand()) { cmd.Connection = conn; } conn.Close(); } await Authenticate(model.Login); // авторизация } catch (Exception ex) { //в случае ошибки авторизации ModelState.AddModelError("", "Некорректные логин и(или) пароль"); _logger.LogFatal(ex, "Некорректные логин и(или) пароль"); return(Content("Некорректные логин и(или) пароль")); } Current_user = model.Login; //даем пользователю права на работу с бд Give_Permission(); _logger.LogInfo($"User {Current_user} logged in"); return(RedirectToAction("Send", "File")); } return(View(model)); }
public async Task <IActionResult> Upload() { filesCmrs.Clear(); long _demandArchiveErsNr; try { DemandArchiveErs DAE = new DemandArchiveErs() { WorkstationsNr = Int32.Parse(_configuration["WorkstationsNr"]), RegionTypesNr = Int32.Parse(_configuration["RegionTypesNr"]), ConfirmDeleteAfterArchive = Int32.Parse(_configuration["ConfirmDeleteAfterArchive"]) }; //сохраняем аттрибуты пакета файлов _demandArchiveErsNr = await Save_Package_atrributes(DAE); } catch (Exception ex) { _logger.LogFatal(ex, "Error while saving data in demandArchiveErs"); return(Content("Error while saving data in demandArchiveErs")); } _logger.LogInfo($"Package atrributes were saved in demandArchiveErs,ID : {_demandArchiveErsNr}"); FormValueProvider formModel; var name_date = DateTime.Now.ToString("_dd_MM_yyyy_(hh_mm_ss)"); var path_to_directory = Path.Combine(_appEnvironment.WebRootPath, Path.Combine(AccountController.Current_user, name_date)); //string path_to_directory = Path.Combine("D:", Path.Combine(AccountController.Current_user, name_date)); //создаем директорию с уникальным именем(папка, заданая в appsettings.json,+имя пользователя+дата время) if (!Directory.Exists(path_to_directory)) { Directory.CreateDirectory(path_to_directory); } _logger.LogInfo($"Crate directory {path_to_directory}"); var path = (path_to_directory); var path1 = Path.Combine(path_to_directory, Path.GetRandomFileName()); using (var stream = System.IO.File.Create(path1)) { formModel = await Request.StreamFile(stream, path); } var viewModel = new MyViewModel(); var bindingSuccessful = await TryUpdateModelAsync(viewModel, prefix : "", valueProvider : formModel); if (!bindingSuccessful) { if (!ModelState.IsValid) { _logger.LogError("Error has happend in file_sending"); return(BadRequest(ModelState)); } } long?file_size; long?_filesDemandArchiveErsNr; try { for (var i = 0; i < FileStreamingHelper.file_name.Count - 1; i++) { file_size = new FileInfo(Path.Combine(path, FileStreamingHelper.file_name[i])).Length; var FDE = new FilesDemandArchiveErs() { FileSizeInBytes = file_size, PathFileName = path, DemandArchiveErsNr = _demandArchiveErsNr }; //сохраняем атрибуты файлов _filesDemandArchiveErsNr = await Save_File_atrributes(FDE); FilesCmr filesCmr = new FilesCmr() { RootDir = path, FileName = FileStreamingHelper.file_name[i], FileSize = file_size.ToString(), FilesDemandArchiveNr = _filesDemandArchiveErsNr, DemandArchiveErsNr = _demandArchiveErsNr, DateSendDemand = DateTime.Now.Date }; filesCmrs.Add(filesCmr); } } catch (Exception ex) { _logger.LogFatal(ex, "Error while saving data in filesDemandArchiveErs"); return(Content(ex.Message)); } _logger.LogInfo("All file's attributes were saved"); return(RedirectToAction("Index", "File")); }