コード例 #1
0
 public SmsStorage()
 {
     SMSProvider                 = new SmsProvider();
     MsgTextListGet              = new List <Message>();
     SMSProvider.SMSReceivedMsg += OnSmsReceivedMsg;
     LockMsgTextList             = new object();
 }
コード例 #2
0
 public SettingsService(
     ISmsSenderSettingsRepository settingsRepository,
     SmsProvider defaultProvider)
 {
     _settingsRepository = settingsRepository;
     _defaultProvider    = defaultProvider;
 }
コード例 #3
0
        public SmsSender(SmsProvider provider, string username, string password, string originator)
        {
            this.IletiMerkezi = new IletiMerkezi(username, password, originator);
            this.NetGsm       = new NetGsm(username, password, originator);

            this.Provider   = provider;
            this.Username   = username;
            this.Password   = password;
            this.Originator = originator;
        }
コード例 #4
0
        public async Task <string> CreateLogin(LoginCore login)
        {
            var loginDB = _mapper.Map <Login>(login);
            var res     = await _loginDBManager.CreateDBLogin(loginDB);

            if (res == "Success")
            {
                SmsProvider.SendSms(login.user.Telephone, "Welcome to Tender + Thanks for joining our services");
            }
            return(res);
        }
コード例 #5
0
        public void RaisingEvents()
        {
            SMSProvider              = new SmsProvider();
            SMSProvider.SMSReceived += ReceiveEvent;
            SMSProvider.ThreadingTimerStart();

            Thread.Sleep(4000);
            Assert.AreEqual(4, receivedEvents.Count);
            Assert.IsNotNull(receivedEvents);
            Assert.AreNotEqual(0, receivedEvents.Count);
        }
コード例 #6
0
ファイル: ClientController.cs プロジェクト: dutchmvp/GPS
        public IHttpActionResult Panic(PanicRequest panic)
        {
            Debug.WriteLine("Panic");
            Debug.WriteLine($"{panic.Id}");
            Debug.WriteLine($"{panic.Timestamp}");
            var notifier = new Notifier();

            notifier.Panic();
            SmsProvider.SendSmsToVolunteer(1);
            return(Content(HttpStatusCode.OK, new { }));
        }
コード例 #7
0
        public ActionResult EditTransactionPassword(string OldTransactionPassword, string NewTransactionPassword, string ConfirmTransactionNewPassword)
        {
            ViewBag.Title        = "Admin: Change Password";
            ViewBag.ErrorMessage = false;

            try
            {
                if (NewTransactionPassword == ConfirmTransactionNewPassword)
                {
                    BankDetail bankDetail = _valleyDreamsIndiaDBEntities.BankDetails.First(x => x.UsersDetailsId == CurrentUser.CurrentUserId && x.Deleted == 0);
                    if (bankDetail.TransactionPassword == OldTransactionPassword)
                    {
                        bankDetail.TransactionPassword = NewTransactionPassword;
                        bankDetail.UpdatedOn           = DateTime.Now;
                        _valleyDreamsIndiaDBEntities.Entry(bankDetail).State = EntityState.Modified;
                        _valleyDreamsIndiaDBEntities.SaveChanges();
                        ViewBag.TransactionErrorMessage = true;

                        string phoneNumber = (_valleyDreamsIndiaDBEntities.PersonalDetails.Where(x => x.UsersDetailsId == CurrentUser.CurrentUserId).FirstOrDefault()).PhoneNumber1;

                        string textMessage = String.Format("Your new transaction password is {0}", NewTransactionPassword);

                        string smsStatus = SmsProvider.SendSms(phoneNumber, textMessage);
                        if (smsStatus == "Success")
                        {
                            ViewBag.SmsStatus = "New Transaction Password Sent To Your Registered Mobile Number Successfully";
                        }
                        else
                        {
                            ViewBag.SmsStatus = "Sended Sms Failed";
                        }

                        ViewBag.TransactionError = "Transaction Password Updated";
                        return(View("~/Views/Members/User/Edit.cshtml"));
                    }
                    else
                    {
                        ViewBag.TransactionErrorMessage = true;
                        ViewBag.TransactionError        = "Transaction Old Password Mismatched";
                        return(View("~/Views/Members/User/Edit.cshtml"));
                    }
                }
                else
                {
                    ViewBag.TransactionErrorMessage = true;
                    ViewBag.TransactionError        = "New And Confirm Transaction New Password Mismatched";
                    return(View("~/Views/Members/User/Edit.cshtml"));
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #8
0
 internal static SmsProviderInfoEntity Create(SmsProvider provider, string countryCode, SmsDeliveryStatus status)
 {
     return(new SmsProviderInfoEntity
     {
         PartitionKey = GeneratePartitionKey(provider),
         RowKey = GenerateRowKey(countryCode),
         Provider = provider.ToString(),
         CountryCode = countryCode,
         DeliveredCount = status == SmsDeliveryStatus.Delivered ? 1 : 0,
         DeliveryFailedCount = status == SmsDeliveryStatus.Failed ? 1 : 0,
         UnknownCount = status == SmsDeliveryStatus.Unknown ? 1 : 0
     });
 }
コード例 #9
0
        public ISmsSender GetSender(SmsProvider provider)
        {
            switch (provider)
            {
            case SmsProvider.Nexmo:
                return(_smsSenders.FirstOrDefault(item => item is NexmoSmsSender));

            case SmsProvider.Twilio:
                return(_smsSenders.FirstOrDefault(item => item is TwilioSmsSender));

            default:
                return(null);
            }
        }
コード例 #10
0
        private static void SendTemplateImpl(string name, long mobile, string temp, DataSource ds, params string[] args)
        {
            SmsProvider provider = SmsProvider.Create(name);

            M.Sms sms = M.Sms.GetById(ds, provider.Key);
            if (!sms.Enabled)
            {
                throw new Exception();
            }
            provider.Account = sms.Account;
            provider.Token   = sms.Token;
            provider.AppId   = sms.AppId;
            provider.Log     = new Cnaws.Sms.SmsSqlLog(ds);
            provider.SendTemplate(mobile, temp, args);
        }
コード例 #11
0
        public void SendImpl(string name, long mobile, string body, params string[] args)
        {
            SmsProvider provider = SmsProvider.Create(name);

            M.Sms sms = M.Sms.GetById(DataSource, provider.Key);
            if (!sms.Enabled)
            {
                throw new Exception();
            }
            provider.Account = sms.Account;
            provider.Token   = sms.Token;
            provider.AppId   = sms.AppId;
            provider.Log     = new SmsSqlLog(DataSource);
            provider.Send(mobile, body, args);
        }
コード例 #12
0
        public static void AddSmsServices(
            this IServiceCollection services,
            SmsProvider provider,
            IConfiguration config)
        {
            switch (provider)
            {
            case SmsProvider.Twilio:
                services.AddTwilioSmsServices(config.GetSection("Twilio"));
                break;

            case SmsProvider.Mock:
                services.AddMockSmsServices();
                break;
            }
        }
コード例 #13
0
        public static void AddSmsServices(
            this IServiceCollection services,
            SmsProvider provider,
            IConfiguration config)
        {
            switch (provider)
            {
            case SmsProvider.Twilio:
                services.Configure <TwilioOptions>(config.GetSection("Twilio"));
                services.AddTransient <ISmsSender, TwilioSmsSender>();
                break;

            case SmsProvider.Mock:
                services.AddTransient <ISmsSender, MockSmsSender>();
                break;
            }
        }
コード例 #14
0
        public SimCorpMobile()
        {
            _vCpu = new Cpu("Intel", new List <Core> {
                new Core(64, 2.1), new Core(64, 2.1)
            });
            _vExternalStorage    = new ExternalStorage(128);
            _vFrontalBasicCamera = new FrontalBasicCamera(1.5, 5);

            _vGraphCpu = new GraphCpu("AMD", new List <Core>
            {
                new Core(64, 2.1), new Core(64, 2.1), new Core(64, 2.1), new Core(64, 2.1)
            });

            _vInternalStorage = new InternalStorage(64);
            _vKeyboard        = new DigitalKeyboard(new List <char>(), new List <char>());
            _vLiIonBattery    = new LiIonBattery(5, 2200, true);
            _vMicrophone      = new Microphone("Internal", 3.5, 2);

            _vMultiMainBasicCamera = new MultiMainBasicCamera(2.5, 12,
                                                              new List <MainBasicCamera>
            {
                new MainBasicCamera(2.5, 12),
                new MainBasicCamera(2.5, 12),
                new MainBasicCamera(2.5, 12)
            });

            _vMultiSimCardHolder = new MultiSimCardHolder("DoubleSim",
                                                          new List <SimCardHolder>
            {
                new SimCardHolder("microSim"),
                new SimCardHolder("microSim")
            });

            _vMultiTouchScreen = new MultiTouchScreen("Multi", 10);

            _vOLedBasicScreen = new OLedBasicScreen(1080, 1920, 7, 233);
            _vRam             = new Ram(4);
            _vSpeaker         = new Speaker(15, 15000, 4.5, 3, Output);
            SmsProvider       = new SmsProvider();
            SmsProvider.Count = 0;
        }
コード例 #15
0
        public BaseResponse Auth(User user)
        {
            var loginType = user.LoginType;

            Random rnd          = new Random();
            int    randomNumber = rnd.Next(100000, 999999);

            try
            {
                switch (loginType)
                {
                case LoginType.Email:
                    var toEmail = user.Login;
                    EmailService.SendEmailAsync(toEmail, "Cleanly код активации", randomNumber.ToString());
                    break;

                case LoginType.Phone:
                    SmsProvider.Send(null, user.Login, randomNumber.ToString());
                    break;
                }
            }
            catch (System.Exception ex)
            {
                if (ex.InnerException is System.IO.IOException)
                {
                }
            }
            ActivationCode code = new ActivationCode
            {
                User    = user,
                Created = DateTime.UtcNow,
                Code    = randomNumber.ToString()
            };

            DbContext.ActivationCodes.Add(code);
            DbContext.SaveChanges();

            return(new BaseResponse());
        }
コード例 #16
0
        public async Task <bool> CreateUser(LoginCore userc)
        {
            try
            {
                Login login = new Login()
                {
                    UserName = userc.UserName,
                    Password = userc.Password,
                    Role     = userc.Role
                };
                var res1 = await _loginDBManager.CreateDBLogin(login);

                var res = await _loginDBManager.GetDBLoginByUsername(userc.UserName);

                User user = new User()
                {
                    Id          = res.Id,
                    Aadhar      = userc.user.Aadhar,
                    Email       = userc.user.Email,
                    Telephone   = userc.user.Telephone,
                    License     = userc.user.License,
                    CompanyName = userc.user.CompanyName,
                    Name        = userc.UserName,
                    PanId       = userc.user.PanId
                };
                bool res2;
                var  response = await _userDBManager.CreateDBUser(user);

                if (response)
                {
                    res2 = SmsProvider.SendSms(string.Concat("+91", userc.user.Telephone), "Welcome to Tender + Thanks for joining our services");
                }
                return(response);
            }
            catch (System.Exception e)
            {
                throw;
            }
        }
コード例 #17
0
 public void SendSms()
 {
     try
     {
         var result = new SmsProvider(new AliSmsConfig()
         {
             AccessKey     = "",
             EncryptionKey = "",
         }).SendSms(new SendSmsParam()
         {
             Phone        = "",
             TemplateCode = "",
             SignName     = "",
             Content      = new List <KeyValuePair <string, string> >()
             {
                 new KeyValuePair <string, string>("code", "3982")
             }
         });
     }
     catch (Exception ex)
     {
     }
 }
コード例 #18
0
        public async Task AddAsync(SmsProvider provider, string countryCode, SmsDeliveryStatus status)
        {
            var entity = await _tableStorage.GetDataAsync(SmsProviderInfoEntity.GeneratePartitionKey(provider),
                                                          SmsProviderInfoEntity.GenerateRowKey(countryCode));

            if (entity == null)
            {
                entity = SmsProviderInfoEntity.Create(provider, countryCode, status);
                await _tableStorage.TryInsertAsync(entity);
            }
            else
            {
                await _tableStorage.MergeAsync(SmsProviderInfoEntity.GeneratePartitionKey(provider), SmsProviderInfoEntity.GenerateRowKey(countryCode),
                                               infoEntity =>
                {
                    switch (status)
                    {
                    case SmsDeliveryStatus.Delivered:
                        infoEntity.DeliveredCount++;
                        break;

                    case SmsDeliveryStatus.Failed:
                        infoEntity.DeliveryFailedCount++;
                        break;

                    case SmsDeliveryStatus.Unknown:
                        infoEntity.UnknownCount++;
                        break;

                    default:
                        throw new ArgumentOutOfRangeException(nameof(status), status, null);
                    }

                    return(infoEntity);
                });
            }
        }
コード例 #19
0
 public SmsSender(SmsProvider provider) : this(provider, "", "", "")
 {
 }
コード例 #20
0
 public IHttpActionResult Sms(int volunteerId)
 {
     SmsProvider.SendSmsToVolunteer(volunteerId);
     return(Ok());
 }
コード例 #21
0
 internal static string GeneratePartitionKey(SmsProvider provider) => provider.ToString();
コード例 #22
0
        public BaseResponse Register(string login, LoginType loginType)
        {
            Random rnd          = new Random();
            int    randomNumber = rnd.Next(100000, 999999);

            try
            {
                switch (loginType)
                {
                case LoginType.Email:
                    var toEmail = login;
                    EmailService.SendEmailAsync(toEmail, "Cleanly код активации", randomNumber.ToString());
                    break;

                case LoginType.Phone:
                    SmsProvider.Send(null, login, randomNumber.ToString());
                    break;
                }
            }
            catch (System.Exception ex)
            {
                if (ex.InnerException is System.IO.IOException)
                {
                }
            }

            var user = new User()
            {
                LoginType = loginType,
                Login     = login,
                Created   = DateTime.UtcNow
            };

            DbContext.Users.Add(user);
            DbContext.SaveChanges();

            var person = new Person()
            {
                UserId = user.Id
            };

            switch (loginType)
            {
            case LoginType.Email:
                person.Email = login;
                break;

            case LoginType.Phone:
                person.Phone = login;
                break;
            }

            DbContext.Persons.Add(person);
            DbContext.SaveChanges();

            ActivationCode code = new ActivationCode
            {
                User    = user,
                Created = DateTime.UtcNow,
                Code    = randomNumber.ToString()
            };

            DbContext.ActivationCodes.Add(code);
            DbContext.SaveChanges();

            return(new BaseResponse());
        }
コード例 #23
0
 public async Task <IEnumerable <ISmsProviderInfo> > GetAllByProviderAsync(SmsProvider provider)
 {
     return(await _tableStorage.GetDataAsync(SmsProviderInfoEntity.GeneratePartitionKey(provider)));
 }
コード例 #24
0
        public ActionResult Create(UsersPersonalModelView usersPersonalModelView)
        {
            ViewBag.Title = "Admin: Add New Member";

            UsersDetail userDetail = _valleyDreamsIndiaDBEntities.UsersDetails
                                     .Where(x => x.SponsoredId == CurrentUser.CurrentUserId &&
                                            x.PinType == "NEW" && x.IsPinUsed == 0).OrderBy(x => x.UserName).FirstOrDefault();

            userDetail.IsPinUsed = 1;
            userDetail.Password  = Guid.NewGuid().ToString().Substring(0, 6);

            userDetail.Deleted   = 0;
            userDetail.CreatedOn = DateTime.Now;
            _valleyDreamsIndiaDBEntities.Entry(userDetail).State = EntityState.Modified;
            _valleyDreamsIndiaDBEntities.SaveChanges();


            int legId = _valleyDreamsIndiaDBEntities.UsersDetails
                        .Where(x => x.UserName == usersPersonalModelView.UserDetails.UserName).FirstOrDefault().Id;

            usersPersonalModelView.PersonalDetails.UsersDetailsId = userDetail.Id;
            usersPersonalModelView.PersonalDetails.JoinedOn       = DateTime.Now.ToString();
            usersPersonalModelView.PersonalDetails.CreatedOn      = DateTime.Now;
            usersPersonalModelView.PersonalDetails.SponsoredId    = CurrentUser.CurrentUserId;
            usersPersonalModelView.PersonalDetails.LegId          = legId;
            usersPersonalModelView.PersonalDetails.Deleted        = 0;
            usersPersonalModelView.PersonalDetails.ProfilePic     = "/UploadedTeamImages/default1_avatar_small.png";
            _valleyDreamsIndiaDBEntities.PersonalDetails.Add(usersPersonalModelView.PersonalDetails);
            _valleyDreamsIndiaDBEntities.SaveChanges();

            usersPersonalModelView.BankDetails.UsersDetailsId      = userDetail.Id;
            usersPersonalModelView.BankDetails.CreatedOn           = DateTime.Now;
            usersPersonalModelView.BankDetails.TransactionPassword = Guid.NewGuid().ToString().Substring(0, 6);
            usersPersonalModelView.BankDetails.Deleted             = 0;
            _valleyDreamsIndiaDBEntities.BankDetails.Add(usersPersonalModelView.BankDetails);
            _valleyDreamsIndiaDBEntities.SaveChanges();

            ContributionDetail contributionDetails = new ContributionDetail();

            contributionDetails.ContribNumber     = 1;
            contributionDetails.ContribDate       = DateTime.Now;
            contributionDetails.ContribAmount     = 1000;
            contributionDetails.NextContribNumber = 2;
            contributionDetails.NextContribDate   = new DateTime(DateTime.Now.AddMonths(1).Year, DateTime.Now.AddMonths(1).Month, 20);
            contributionDetails.RemainingContrib  = 15 - 1;
            contributionDetails.UserDetailsId     = userDetail.Id;
            contributionDetails.SponsoredId       = CurrentUser.CurrentUserId;
            contributionDetails.PayedBy           = "SPONSOR";
            contributionDetails.IsCompleted       = 0;
            _valleyDreamsIndiaDBEntities.ContributionDetails.Add(contributionDetails);
            _valleyDreamsIndiaDBEntities.SaveChanges();


            password            = userDetail.Password;
            transactionpassword = usersPersonalModelView.BankDetails.TransactionPassword;
            username            = userDetail.UserName;


            string textMessage = String.Format("Your username is {0}, password is {1} and transactionpassword is {2}", username, password, transactionpassword);
            string smsStatus   = SmsProvider.SendSms(usersPersonalModelView.PersonalDetails.PhoneNumber1, textMessage);

            if (smsStatus == "Success")
            {
                smsstatus = "Credentials Sent To Your Registered Mobile Number Successfully";
            }
            else
            {
                smsstatus = "Sended Sms Failed";
            }

            return(RedirectToAction("Create"));
        }