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
        }
Exemple #2
0
        public async Task <ResultMessage> SendFastPaymentUrlAsync(Order order, string phoneNumber, bool isQr)
        {
            var orderId = order.Id;

            if (_instantSmsService == null)
            {
                return(new ResultMessage {
                    ErrorDescription = "Сервис отправки Sms не работает, обратитесь в РПО."
                });
            }

            var realPhoneNumber = PhoneUtils.RemoveNonDigit(phoneNumber);
            var response        = await GetFastPaymentResponseDtoAsync(orderId, realPhoneNumber, isQr);

            if (response == null)
            {
                return(new ResultMessage {
                    ErrorDescription = "Не удалось получить ответ от банка, обратитесь в РПО"
                });
            }

            if (response.ErrorMessage != null)
            {
                return(new ResultMessage {
                    ErrorDescription = response.ErrorMessage
                });
            }

            if (response.FastPaymentStatus.HasValue && response.FastPaymentStatus == FastPaymentStatus.Performed)
            {
                var resultMessage = new ResultMessage
                {
                    ErrorDescription = $"Заказ №{orderId} оплачен",
                    IsPaidStatus     = true
                };
                return(resultMessage);
            }

            var smsMessage = new InstantSmsMessage
            {
                MessageText = $"Ссылка на оплату заказа №{orderId}\n" +
                              $"{_fastPaymentParametersProvider.GetVodovozFastPayBaseUrl}/{response.FastPaymentGuid}",
                MobilePhone = phoneNumber,
                ExpiredTime = DateTime.Now.AddMinutes(10)
            };

            return(_instantSmsService.SendSms(smsMessage));
        }
Exemple #3
0
        public ResultMessage SendPassword(string phone, string login, string password)
        {
            #region Формирование

            if (!smsNotifierParametersProvider.IsSmsNotificationsEnabled)
            {
                return(new ResultMessage {
                    ErrorDescription = "Sms уведомления выключены"
                });
            }
            if (String.IsNullOrWhiteSpace(password))
            {
                return(new ResultMessage {
                    ErrorDescription = "Был передан неверный пароль"
                });
            }

            string messageText = $"Логин: {login}\nПароль: {password}";

            if (service == null)
            {
                return(new ResultMessage {
                    ErrorDescription = "Сервис отправки Sms не работает, обратитесь в РПО."
                });
            }

            var smsNotification = new InstantSmsMessage {
                MessageText = messageText,
                MobilePhone = phone,
                ExpiredTime = DateTime.Now.AddMinutes(10)
            };

            #endregion

            return(service.SendSms(smsNotification));
        }