async Task LoginUser() { try { var login = this.txtLogin.Text.Trim(); var pass = this.txtPassword.Text.Trim(); var named = chkIsLdap.Checked ? "auth-ldap" : "auth-table"; var authService = ServiceLocator.Create <IAuthService>(named); var isUserExist = await authService.IsValidUser(login, pass);//await userService.CheckLoginUser(login, pass); if (isUserExist) { MainFormService.ShowAppView( await userService.GetUserByLogin(login) ); } else { MainFormService.ShowInfo("Не верный логин или пароль!"); } } catch (Exception ex) { MainFormService.ShowError(ex.Message); } }
async Task ExportXls() { var saveFileDialog = new SaveFileDialog(); saveFileDialog.DefaultExt = "xlsx"; saveFileDialog.AddExtension = true; var dr = saveFileDialog.ShowDialog(this); if (dr == DialogResult.OK) { var fileName = saveFileDialog.FileName; try { var cargoes = await db.Cargoes.ToListAsync(); excelService.SaveToExcel(fileName, cargoes); MainFormService.ShowInfo("Экспорт успешно выполнен!"); } catch (Exception ex) { MainFormService.ShowError(ex.Message); } } }
private void ExportUsersToCsvFile() { var saveFileDialog = new SaveFileDialog() { DefaultExt = "csv", AddExtension = true, Filter = "CSV файлы (*.csv)|*.csv" }; var dr = saveFileDialog.ShowDialog(this); if (dr == DialogResult.OK) { var fileName = saveFileDialog.FileName; var chunkSize = GetRowsPerPageSelected(); var isOnePart = chkAll.Checked; File.Delete(fileName); var bg = new BackgroundWorker() { WorkerReportsProgress = true }; bg.DoWork += async(s, a) => { var worker = s as BackgroundWorker; a.Result = new { Error = "", Completed = false }; try { //все за один раз if (isOnePart) { var users = await UserService.GetUsers(); WriteUsersToCsvFile(fileName, users); } else { var userCounts = await UserService.GetUsersCountAsync(); var chunksCount = GetPagesCount(chunkSize, userCounts); for (var i = 1; i <= chunksCount; i++) { var users = await UserService.SkipTakeUsersAsync((i - 1) *chunkSize, chunkSize); WriteUsersToCsvFile(fileName, users); var part = (double)i / chunksCount; worker.ReportProgress((int)(part * 100)); } } a.Result = new { Error = "", Completed = true }; } catch (Exception ex) { a.Result = new { Error = ex.Message, Completed = false }; } }; bg.ProgressChanged += (s, a) => { MainFormService.SetStatusBarText($"Экспорт...{a.ProgressPercentage}%"); GarbageCollect(); }; bg.RunWorkerCompleted += (s, a) => { var isOk = (bool)((dynamic)a.Result).Completed; if (isOk) { MainFormService.ShowInfo("Экспорт CSV завершен!"); } else { MainFormService.ShowError($"Ошибка экспорта CSV. {((dynamic)a.Result).Error}"); } }; bg.RunWorkerAsync(); } }