public ResultMessage ResetPassword(Employee employee, string password) { #region Инициализация IInstantSmsService service = InstantSmsServiceSetting.GetInstantSmsService(); if (service == null) { return(new ResultMessage { ErrorDescription = "Сервис отправки Sms не работает, обратитесь в РПО." }); } #endregion #region МеняемПароль string login = employee.User.Login; mySQLUserRepository.ChangePassword(login, password); #endregion #region ОтправляемSMS string phone = CreatePhoneAndLogin(employee); string messageText = $"Логин: {login}\nПароль: {password}"; var smsNotification = new InstantSmsMessage { MessageText = messageText, MobilePhone = phone, ExpiredTime = DateTime.Now.AddMinutes(10) }; return(service.SendSms(smsNotification)); #endregion }
private bool SendPasswordByPhone(Employee employee, string password) { SmsSender sender = new SmsSender(new BaseParametersProvider(), InstantSmsServiceSetting.GetInstantSmsService()); #region ФормированиеТелефона string stringPhoneNumber = employee.GetPhoneForSmsNotification(); if (stringPhoneNumber == null) { MessageDialogHelper.RunErrorDialog("Не найден подходящий телефон для отправки Sms", "Ошибка при отправке Sms"); return(false); } string phoneNumber = $"+7{stringPhoneNumber}"; #endregion var result = sender.SendPassword(phoneNumber, employee.LoginForNewUser, password); if (result.MessageStatus == SmsMessageStatus.Ok) { MessageDialogHelper.RunInfoDialog("Sms с паролем отправлена успешно"); return(true); } else { MessageDialogHelper.RunErrorDialog(result.ErrorDescription, "Ошибка при отправке Sms"); return(false); } }
public EmployeesJournalViewModel( EmployeeFilterViewModel filterViewModel, IUnitOfWorkFactory unitOfWorkFactory, ICommonServices commonServices ) : base( filterViewModel, unitOfWorkFactory, commonServices ) { this.TabName = "Журнал сотрудников"; var instantSmsService = InstantSmsServiceSetting.GetInstantSmsService(); this.authorizationService = new AuthorizationService( new PasswordGenerator(), new MySQLUserRepository( new MySQLProvider(new GtkRunOperationService(), new GtkQuestionDialogsInteractive()), new GtkInteractiveService())); UpdateOnChanges(typeof(Employee)); }
private void OnSendFastPaymentUrlBySmsClicked(object btn, EventArgs args) { if (_order.Id == 0) { _interactiveService.ShowMessage(ImportanceLevel.Error, "Перед отправкой QR необходимо сохранить заказ", "Не удалось отправить QR по SMS"); return; } if (string.IsNullOrWhiteSpace(validatedPhoneEntry.Text)) { _interactiveService.ShowMessage(ImportanceLevel.Error, "Вы забыли выбрать номер.", "Не удалось отправить QR по SMS"); return; } if (!InstantSmsServiceSetting.SendingAllowed) { return; } var lastProccessingPayment = _fastPaymentRepository.GetProcessingPaymentForOrder(InfoProvider.UoW, _order.Id); if (lastProccessingPayment != null) { if (!_interactiveService.Question( "Будет отменена текущая действующая сессия оплаты и сформирована новая ссылка на оплату. Продолжить?", "Вы уверены что хотите отправить новую ссылку на оплату по SMS?")) { return; } } btnSendFastPaymentPayByQrUrlBySms.Sensitive = btnSendFastPaymentPayByCardUrlBySms.Sensitive = ySendSmsButton.Sensitive = false; GLib.Timeout.Add(10000, () => { if (!_isPaidOrder) { btnSendFastPaymentPayByQrUrlBySms.Sensitive = true; btnSendFastPaymentPayByCardUrlBySms.Sensitive = _canSendSmsForPayFromSbpByCard; ySendSmsButton.Sensitive = _canSendSmsForPayFromYookassa; } return(false); }); var isQr = (btn as yButton)?.Name == nameof(btnSendFastPaymentPayByQrUrlBySms); var smsSender = new SmsSender(_fastPaymentParametersProvider, InstantSmsServiceSetting.GetInstantSmsService()); var resultTask = smsSender.SendFastPaymentUrlAsync(_order, validatedPhoneEntry.Text, isQr); resultTask.Wait(); var result = resultTask.Result; switch (result.MessageStatus) { case SmsMessageStatus.Ok: _interactiveService.ShowMessage(ImportanceLevel.Info, "SMS отправлена успешно"); break; case SmsMessageStatus.Error: if (result.IsPaidStatus) { _isPaidOrder = true; ySendSmsButton.Sensitive = false; } _interactiveService.ShowMessage(ImportanceLevel.Error, result.ErrorDescription, "Не удалось отправить SMS"); break; default: throw new ArgumentOutOfRangeException(); } }