Esempio n. 1
0
        private bool SendSMS(BiometricTransaction transaction)
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;


                var reader = new BiometricUserDataReader();

                var data = reader.GetBasicInfoForSmsOf(transaction.BiometricId);


                data.PhoneNumber = data.PhoneNumber.Replace(" ", "").Replace("-", "");
                //var cellNum = reader.GetPhoneNumberOf(transaction.BiometricId);
                //cellNum = cellNum.Replace(" ", "").Replace("-", "");

                var message = "%date%\n\n";
                message += "Name: %name%\n";
                message += "Biometric Id: %biometricid%\n";

                //message += "Good day! This confirms your biometric entry on the above mentioned time.\n";
                message += "This is a system generated message. Do not reply";


                message = message.Replace("%date%", transaction.TimeLog.ToString("dd MMM yyyy, hh:mm:ss tt"));
                message = message.Replace("%name%", data.PersonClass.Name.Fullname);



                var cellNum = data.PhoneNumber;
                if (_redirectedSmsNumber.Length > 2)
                {
                    cellNum = _redirectedSmsNumber;
                }

                txtStatus.AppendText(@"Sending SMS...to: " + cellNum);


                if (!MySms.SendSms(Port, cellNum, message))
                {
                    txtStatus.AppendText("Failed to send message");

                    // MySms.SendSms(Port, cellNum, "Good day!This confirms your biometric entry on the above mentioned time.\n");
                    return(true);
                }

                // MySms.SendSms(Port, cellNum, "Good day!This confirms your biometric entry on the above mentioned time.\n");
                //Console.WriteLine(result);
                txtStatus.AppendText("Message has sent successfully\n");
                return(true);
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.Message);
                txtStatus.AppendText(ex.Message + "\n");
                return(false);
            }
        }
        public async Task <IActionResult> AddTracking(string id, [Bind("Tracking")] Repair repairT)
        {
            try
            {
                var repair = _unitOfWork.Repair.GetFirstOrDefault(x => x.Id == id, includeProperties: "IdentityUser,DeviceType,Address");
                repair.Tracking = repairT.Tracking;
                repair.StatusId = _unitOfWork.Status.GetStatusIdByName(StatusSD.SentCourier);
                _context.Update(repair);
                await _emailSender.SendEmailAsync(repair.IdentityUser.Email, "Sprzęt został wysłany",
                                                  $"{repair.DeviceType.DeviceName} został/a spakowana i wyruszyła w drogę powrotną." +
                                                  $" Dziękujemy za skorzystanie z naszych usług. Mamy nadzieję, że jeszcze do nas wrócisz :)." +
                                                  $" <br> Link do śledznienia: <a href='https://tracktrace.dpd.com.pl/parcelDetails?typ=1&p1={repair.Tracking}+&p2=&p3=&p4=&p5=&p6=&p7=&p8=&p9=&p10='>Śledzenie</a>" +
                                                  $" <br>Nr zgłoszenia: {repair.RepairId}.");

                var send = new SmsSender();
                send.SendSms(repair.Address.PhoneNumber, "Został wprowadzony numer śledzenia. Twój sprzęt wkrótce wyruszy w drogę! Nr zgłoszenia: " + repair.RepairId + ". Link do śledzenia: https://tracktrace.dpd.com.pl/parcelDetails?typ=1&p1=" + repair.Tracking + "+&p2=&p3=&p4=&p5=&p6=&p7=&p8=&p9=&p10=");
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RepairCostExists(repairT.Id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(RedirectToAction(nameof(Index)));
        }
Esempio n. 3
0
        private void SendSMS()
        {
            try
            {
                Cursor.Current = Cursors.WaitCursor;

                var result = "";

                var num = txtCellnum.Text.Replace(" ", "").Replace("-", "");
                if (MySms.SendSms(Port, num, txtMessage.Text))
                {
                    result = "Message has sent successfully";
                }
                else
                {
                    result = "Failed to send message";
                }


                //ToastNotification.DefaultToastGlowColor = eToastGlowColor.Green;
                ToastNotification.ToastBackColor = Color.Green;

                ToastNotification.Show(this, result, eToastPosition.MiddleCenter);

                Console.WriteLine(result);
            }
            catch (Exception ex)
            {
                MessageDialog.ShowError(ex, this);
            }
        }
        public async Task <IActionResult> RepairCost(string id, [Bind("Id,FaultDescription,Cost,IsAccepted,IsRejected")] RepairCost repairCost)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var repair = _unitOfWork.Repair.GetFirstOrDefault(x => x.Id == id, includeProperties: "IdentityUser,Address");
                    repair.StatusId = _unitOfWork.Status.GetStatusIdByName(StatusSD.Valuation);
                    _context.Update(repair);
                    _context.Update(repairCost);

                    await _emailSender.SendEmailAsync(repair.IdentityUser.Email, "Wprowadzono koszt naprawy",
                                                      $"Koszt naprawy oraz opis usterki został wprowadzony. Zaloguj się oraz akceptuj lub odrzuć koszt naprawy.<br>Nr zgłoszenia: {repair.RepairId}.");

                    var send = new SmsSender();
                    send.SendSms(repair.Address.PhoneNumber, "Koszt naprawy oraz opis usterki został wprowadzony. Zaloguj się oraz akceptuj lub odrzuć koszt naprawy. Nr zgłoszenia: " + repair.RepairId);

                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RepairCostExists(repairCost.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(repairCost));
        }
        //private bool SendSMS(BiometricTransaction transaction)
        //{
        //    try
        //    {

        //        Cursor.Current = Cursors.WaitCursor;


        //        var reader = new BiometricUserDataReader();

        //        var data = reader.GetBasicInfoForSmsOf(transaction.BiometricId);


        //        data.PhoneNumber = data.PhoneNumber.Replace(" ", "").Replace("-", "");
        //        //var cellNum = reader.GetPhoneNumberOf(transaction.BiometricId);
        //        //cellNum = cellNum.Replace(" ", "").Replace("-", "");

        //        var message = "%date%\n\n";
        //        message += "Name: %name%\n";
        //        message += "Biometric Id: %biometricid%\n";

        //        //message += "Good day! This confirms your biometric entry on the above mentioned time.\n";
        //        message += "This is a system generated message. Do not reply";


        //        message = message.Replace("%date%", transaction.TimeLog.ToString("dd MMM yyyy, hh:mm:ss tt"));
        //        message = message.Replace("%name%", data.PersonClass.Name.Fullname);



        //        var cellNum = data.PhoneNumber;
        //        //if (_redirectedSmsNumber.Length > 2)
        //        //{
        //        //    cellNum = _redirectedSmsNumber;
        //        //}

        //        txtStatus.AppendText(@"Sending SMS...to: " + cellNum);


        //        if (!MySms.SendSms(Port, cellNum, message))
        //        {
        //            txtStatus.AppendText("Failed to send message");

        //            // MySms.SendSms(Port, cellNum, "Good day!This confirms your biometric entry on the above mentioned time.\n");
        //            return true;
        //        }

        //        // MySms.SendSms(Port, cellNum, "Good day!This confirms your biometric entry on the above mentioned time.\n");
        //        //Console.WriteLine(result);
        //        txtStatus.AppendText("Message has sent successfully\n");
        //        return true;
        //    }
        //    catch (Exception ex)
        //    {
        //        //MessageBox.Show(ex.Message);
        //        txtStatus.AppendText(ex.Message + "\n");
        //        return false;
        //    }
        //}

        private bool SendSms(Sms item)
        {
            if (Port == null)
            {
                return(false);
            }

            txtStatus.AppendText(@"Sending SMS...to: " + item.ContactNumber + "\n");


            var cellNum = item.ContactNumber;

            //var message = item.Message;

            var message = "%date%\n\n";

            message += "Name: [Your_Full_Name_Here]\n";
            message += "Biometric Id: %biometricid%\n";

            //message += "Good day! This confirms your biometric entry on the above mentioned time.\n";
            message += "This is a system generated message. Do not reply";

            var messages = Sms.Parser(message);

            var success = true;

            foreach (var msg in messages)
            {
                success = MySms.SendSms(Port, cellNum, msg) && success;
                System.Threading.Thread.Sleep(800);
            }

            return(success);
        }
Esempio n. 6
0
        private async void continueButton_Clicked(object sender, EventArgs e)
        {
            StringGenerator gen     = new StringGenerator();
            var             otpCode = gen.generateRandomString();
            var             checker = await smsSender.SendSms(otpCode, phoneEntry.Text);

            await Navigation.PushAsync(new OtpAuthentication(phoneEntry.Text), true);
        }
        public object Get(SendSms request)
        {
            // we will mark faled all exceptional send sms requests
            var state = State.Success;

            if (request.To.IsNullOrEmpty())
            {
                state = State.Failed;
            }

            if (request.From.IsNullOrEmpty())
            {
                state = State.Failed;
            }

            if (state != State.Success)
            {
                return(state);
            }

            var result = SmsSender.SendSms(request);

            var country = FindCountry(request.To);

            var smsRecord = new Sms
            {
                From              = request.From,
                To                = request.To,
                DateTime          = DateTime.UtcNow,
                MobileCountryCode = country.MobileCountryCode,
                Price             = country.PricePerSMS,
                State             = result
            };

            Db.Insert <Sms>(smsRecord);
            return(result);
        }
Esempio n. 8
0
 private async void resentButton_Clicked(object sender, EventArgs e)
 {
     StringGenerator gen     = new StringGenerator();
     var             otpCode = gen.generateRandomString();
     var             checker = await smsSender.SendSms(otpCode, number);
 }
Esempio n. 9
0
 public void Handle(CreateSmsMessage message)
 {
     SmsSender.SendSms(message);
 }
Esempio n. 10
0
        public bool TryAddUser(List <User> users, out User newUser)
        {
            PasswordWriter passwordWriter = new PasswordWriter();
            SmsSender      smsSender      = new SmsSender();

            newUser = new User();

            string usLoginStr, usPsswdStr, usFullNameStr, usPhoneStr;

            WriteLine("Новый пользователь,");
            WriteLine("Введите логин:");

            usLoginStr = ReadLine();
            for (int i = 0; i < users.Count; i++)
            {
                if (users[i].Login == usLoginStr)
                {
                    WriteLine("Логин уже занят!");
                    return(false);
                }
            }

            if (CheckUsername(usLoginStr))
            {
                WriteLine($"Введите пароль(больше {MIN_PSSWD_LEN} символов):");
                usPsswdStr = passwordWriter.Write();

                if (CheckPassword(usPsswdStr))
                {
                    WriteLine("Введите полное имя:");
                    usFullNameStr = ReadLine();

                    WriteLine("Введите номер телефона:");
                    usPhoneStr = ReadLine();

                    if (CheckPhoneNumber(usPhoneStr))
                    {
                        string verification = smsSender.SendSms(usPhoneStr);
                        WriteLine("Введите код авторизации:");
                        if (verification == ReadLine())
                        {
                            newUser.Login       = usLoginStr.Trim();
                            newUser.Password    = usPsswdStr;
                            newUser.FullName    = usFullNameStr;
                            newUser.PhoneNumber = usPhoneStr;

                            return(true);
                        }
                        else
                        {
                            WriteLine("Неверный код авторизации!");
                        }
                    }
                    else
                    {
                        WriteLine("Неверный формат телефона!");
                    }
                }
                else
                {
                    WriteLine("Пароль недостаточно длинный!");
                }
            }
            else
            {
                WriteLine("Логин пустой!");
            }

            return(false);
        }
Esempio n. 11
0
        public void ShowRegistrationMenu()
        {
            System.Console.Clear();
            bool check = false;

            while (!check)
            {
                System.Console.Write("Введите Ф.И.О - ");
                string fullName = System.Console.ReadLine();

                System.Console.Write("Введите ваш адрес проживания - ");
                string address = System.Console.ReadLine();

                System.Console.Write("Введите ваш номер телефона - ");
                PhoneNumber = System.Console.ReadLine();

                System.Console.Write("Введите логин (максимум симвлов - 20) - ");
                Login = System.Console.ReadLine();

                System.Console.WriteLine("Требования к паролю - ");
                System.Console.WriteLine("Максимум символов - 16");
                System.Console.WriteLine("Минимум символов - 6");
                System.Console.WriteLine("Минимум одна строчная и заглавная буква");
                System.Console.WriteLine("Минимум одна цифра и символ(#, $ и. т. д.)");
                System.Console.Write("Введите пароль - ");

                Password = System.Console.ReadLine();
                System.Console.Clear();

                check = Registrate(fullName, Login, Password, address, PhoneNumber);
            }

            System.Console.WriteLine("Выберите способ подтверждения личности - ");
            System.Console.WriteLine("SMS на номер телефона - 1");
            System.Console.WriteLine("Телеграм бот - 2");
            string userNumber = System.Console.ReadLine();


            while (true)
            {
                if (userNumber == "1")
                {
                    try
                    {
                        SmsSender smsSender = new SmsSender();
                        smsSender.SendSms(PhoneNumber);

                        System.Console.WriteLine($"Вам на номер телефона {PhoneNumber} придет смс с 4-х значным кодом");
                        System.Console.Write("Введите код - ");

                        string messageCode = System.Console.ReadLine();

                        while (!smsSender.CheckMessage(messageCode))
                        {
                            System.Console.WriteLine("Ошибка, код не верный!");
                            System.Console.WriteLine("Введите код -");
                            messageCode = System.Console.ReadLine();
                        }

                        break;
                    }
                    catch (Twilio.Exceptions.ApiException)
                    {
                        System.Console.WriteLine("Регистрация прервана!");
                        System.Console.WriteLine("Ошибка отправки смс!");
                        System.Console.WriteLine("Нажмите Enter чтобы продолжить!");
                        System.Console.ReadKey();
                        break;
                    }
                }
                else if (userNumber == "2")
                {
                    try
                    {
                        SendSms();


                        System.Console.Write("Введите код - ");
                        string messageCode = System.Console.ReadLine();

                        while (messageCode != Message)
                        {
                            System.Console.WriteLine("Ошибка, код не верный!");
                            System.Console.WriteLine("Введите код -");
                            messageCode = System.Console.ReadLine();
                        }
                        break;
                    }
                    catch (Exception)
                    {
                        System.Console.WriteLine("Error");
                        break;
                    }
                }
                else
                {
                    System.Console.WriteLine("Ошибка ввода!");
                    System.Console.WriteLine("Повторите ввод!");
                }
            }


            SaveUser();
            System.Console.WriteLine("Регистрация прошла успешно!");
            System.Console.WriteLine("Нажмите Enter чтобы продолжить!");
            System.Console.ReadKey();
        }
Esempio n. 12
0
 public IActionResult SmsUrl()
 {
     smsSender.SendSms("09132057232,09120155182", "test" + DateTime.Now.ToString());
     return(View());
 }
Esempio n. 13
0
        public async Task <IActionResult> Create(string?id)
        {
            var      currentUserID    = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var      currentUserEmail = User.FindFirst(ClaimTypes.Email).Value;
            DateTime now = DateTime.Now;

            if (ModelState.IsValid)
            {
                string webRootPath = _hostEnvironment.WebRootPath;
                var    files       = HttpContext.Request.Form.Files;

                if (RepairViewModel.Repair.Id == null)
                {
                    if (files.Count > 0)
                    {
                        var    size      = files[0].Length;
                        string fileName  = Guid.NewGuid().ToString();
                        var    uploads   = Path.Combine(webRootPath, @"img\warranty");
                        var    extension = Path.GetExtension(files[0].FileName);

                        if ((extension == ".pdf" || extension == ".jpg" || extension == ".png" || extension == ".jpeg") && size <= 2097152)
                        {
                            using (var fileStreams = new FileStream(Path.Combine(uploads, fileName + extension), FileMode.Create))
                            {
                                files[0].CopyTo(fileStreams);
                            }
                            RepairViewModel.Repair.Warranty = @"\img\warranty\" + fileName + extension;
                        }
                        else
                        {
                            ModelState.AddModelError("Repair.Warranty", "Nieprawidłowe rozszerzenie pliku lub jego rozmiar jest zbyt duży! Prawidłowe rozszerzenia: pdf, jpg, jpeg lub png. Waga pliku maksymalnie 2MB.");
                            RepairViewModel.MarkList       = _unitOfWork.Mark.GetMarkListFromDropDown();
                            RepairViewModel.DeviceTypeList = _unitOfWork.DeviceType.GetDeviceTypeListFromDropDown();
                            return(View(RepairViewModel));
                        }
                    }

                    RepairViewModel.RepairCost.Id       = _unitOfWork.RepairCost.GenerateId();
                    RepairViewModel.Address.Id          = _unitOfWork.Address.GenerateId();
                    RepairViewModel.Repair.RepairCostId = RepairViewModel.RepairCost.Id;
                    RepairViewModel.Repair.AddressId    = RepairViewModel.Address.Id;
                    RepairViewModel.Repair.StatusId     = _unitOfWork.Status.GetStatusIdByName(StatusSD.Start);
                    RepairViewModel.Repair.UserId       = currentUserID;
                    RepairViewModel.Repair.ReportDate   = now;

                    RepairViewModel.Repair.RepairId = _unitOfWork.Repair.RepairID();

                    _unitOfWork.RepairCost.Add(RepairViewModel.RepairCost);
                    _unitOfWork.Address.Add(RepairViewModel.Address);
                    _unitOfWork.Repair.Add(RepairViewModel.Repair);
                }

                await _emailSender.SendEmailAsync(currentUserEmail, "Zgłoszono naprawę",
                                                  $"Naprawa została poprawnie zgłoszona. <br>Nr zgłoszenia: {RepairViewModel.Repair.RepairId}.");

                await _emailSender.SendEmailAsync("*****@*****.**", "Nowa naprawa",
                                                  $"Została zgłoszona nowa naprawa. <br>Nr zgłoszenia: {RepairViewModel.Repair.RepairId}.");

                try
                {
                    var send = new SmsSender();
                    send.SendSms(RepairViewModel.Repair.Address.PhoneNumber, "Naprawa została zgłoszona poprawnie.");
                }
                catch (Exception e)
                {
                    RepairViewModel.MarkList       = _unitOfWork.Mark.GetMarkListFromDropDown();
                    RepairViewModel.DeviceTypeList = _unitOfWork.DeviceType.GetDeviceTypeListFromDropDown();
                    ModelState.AddModelError("Address.PhoneNumber", "Nie ma takiego numeru!");
                    return(View(RepairViewModel));
                }

                _unitOfWork.Save();
                return(RedirectToAction(nameof(Index)));
            }
            else
            {
                RepairViewModel.MarkList       = _unitOfWork.Mark.GetMarkListFromDropDown();
                RepairViewModel.DeviceTypeList = _unitOfWork.DeviceType.GetDeviceTypeListFromDropDown();
                return(View(RepairViewModel));
            }
        }