public async Task <Result> SendSmsCodeAsync(string phoneNumber, string countryCode) { var isExist = await _userQueryRepository.IsExistPhoneAsync(phoneNumber); if (!isExist) { return(Result.Fail(EC.PhoneNotFound, ET.PhoneNotFound)); } var code = SecurityCode.Create(ProviderType.Phone, phoneNumber, CodeActionType.ForgotPasswordByPhone); await _securityCodesRepository.CreateAsync(code); await _unitOfWorks.CommitAsync(); var smsSender = new SmsSender(_globalSettings); var result = await smsSender.SendSmsAsync(phoneNumber, $"{code.Code} is your verification code."); if (result == null) { return(Result.Fail(EC.SmsServiceFailed, ET.SmsServiceFailed)); } return(Result.Ok()); }
public void SmsSendSuccess() { using (SmsSender sender = new SmsSender("petforaweek", "1d0aa72cdd149", "petforaweek")) { sender.Send("79260353551", "1234"); } }
protected override void onMessage(MoSmsReq moSmsReq) { MtSmsResp mtSmsResp = null; try { SmsSender smsSender = new SmsSender("http://127.0.0.1:7007/service"); List <String> address = new List <String>(); address.Add(moSmsReq.sourceAddress); MtSmsReq mtSmsReq = new MtSmsReq(); mtSmsReq.applicationId = moSmsReq.applicationID; mtSmsReq.password = "******"; mtSmsReq.destinationAddresses = address; mtSmsReq.message = "Message Received. Thanks you."; mtSmsResp = smsSender.sendSMSReq(mtSmsReq); } catch (SdpException ex) { Console.WriteLine(ex.StackTrace); } }
/// <summary> /// Send sms to user /// </summary> /// <param name="userAddress">Address of the message recevier</param> /// <param name="message">Text message</param> /// <returns>True if message send successful otherwise false.</returns> public static bool Send(string userAddress, string message) { try { MtSmsReq mtSmsReq = new MtSmsReq(); mtSmsReq.applicationId = _appId; mtSmsReq.password = _password; mtSmsReq.destinationAddresses = new string[] { userAddress }; mtSmsReq.message = message; mtSmsReq.version = "1.0"; //Log.Data("MtSmsReq ", mtSmsReq); SmsSender smsSender = new SmsSender(string.Concat(_baseUrl, Consts.URL_SMS_SEND)); MtSmsResp mtSmsResp = smsSender.SendSMSReq(mtSmsReq); return(true); } catch (SdpException ex) { Log.Error(string.Format(Resources.Error_SendSmsFailed, userAddress)); Log.Exception(ex); return(false); } }
public Form1() { InitializeComponent(); #region Display all available COM Ports string[] ports = SerialPort.GetPortNames(); // Add all port names to the combo box: foreach (string port in ports) { cboPort.Items.Add(port); } #endregion MySms = new SmsSender(); var isRedirect = false; isRedirect = Dll.Settings.Get("RedirectSMS", "0") == "1" ? true : false; if (isRedirect) { _redirectedSmsNumber = Dll.Settings.Get("RedirectSmsNumber", ""); } }
[Create(@"{code}", false, false)] //NOTE: this method doesn't requires auth!!! //NOTE: this method doesn't check payment!!! public AuthenticationTokenData AuthenticateMe(string userName, string password, string provider, string accessToken, string code) { bool viaEmail; var user = GetUser(userName, password, provider, accessToken, out viaEmail); try { SmsManager.ValidateSmsCode(user, code); var token = SecurityContext.AuthenticateMe(user.ID); MessageService.Send(Request, MessageAction.LoginSuccessViaApiSms); var tenant = CoreContext.TenantManager.GetCurrentTenant().TenantId; var expires = TenantCookieSettings.GetExpiresTime(tenant); return(new AuthenticationTokenData { Token = token, Expires = new ApiDateTime(expires), Sms = true, PhoneNoise = SmsSender.BuildPhoneNoise(user.MobilePhone) }); } catch { MessageService.Send(Request, user.DisplayUserName(false), MessageAction.LoginFailViaApiSms, MessageTarget.Create(user.ID)); throw new AuthenticationException("User authentication failed"); } finally { SecurityContext.Logout(); } }
public void addOrder(Order order) { DataAccess dataAccess = new DataAccess(); dataAccess.insertOrder(order); int customerId = order.getCustomerId(); int ordersCount = dataAccess.getOrdersCount(customerId); if (ordersCount == 1) { Customer orderCustomer = dataAccess.getCustomerById(customerId); SmsSender smsSender = new SmsSender(); string smsMessage = orderCustomer.FirstName + " ,Welcome to our store!!"; smsSender.sendSms(orderCustomer.MobileNumber, smsMessage); } EmailSender emailSender = new EmailSender(); emailSender.sendOrderEmail(order); double orderAmount = order.getAmount(); if (orderAmount > 200) { dataAccess.addPointsToCustomer(customerId, 10); } }
private static void Main(string[] args) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("Gang of Four Design Pattern - Bridge"); IMessageSender sms = new SmsSender("871615499"); IMessageSender email = new EmailSender("smtp.office365.com"); IMessageSender msmq = new MsmqSender("http://my-awesome-service-bus.servicebus.windows.net/queue01/"); IMessageSender webService = new WebServiceSender("http://fancy-application.contoso.com/"); var firstMessage = new Message { To = "Nolan Arenado", From = "Trevor Story", Subject = "Best Rockies Defense", Body = "Hello World!" }; var secondMessage = new Message { To = "Bud Black", From = "The System", Subject = "Scouting Report", Body = "Hello World!" }; var userMessage = new UserMessage(sms, firstMessage); var systemMessage = new SystemMessage(email, secondMessage); userMessage.SendMessage(); Console.WriteLine("*************************************"); systemMessage.SendMessage(); Console.WriteLine("*************************************"); userMessage.UpdateMessageSender(msmq); userMessage.SendMessage(); Console.WriteLine("*************************************"); systemMessage.UpdateMessageSender(webService); systemMessage.SendMessage(); Console.WriteLine("*************************************"); Console.ReadKey(); }
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))); }
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)); }
protected override void onMessage(MoSmsReq moSmsReq) { MtSmsResp mtSmsResp=null; try { SmsSender smsSender = new SmsSender("http://127.0.0.1:7007/service"); List<String> address = new List<String>(); address.Add(moSmsReq.sourceAddress); MtSmsReq mtSmsReq = new MtSmsReq(); mtSmsReq.applicationId = moSmsReq.applicationID; mtSmsReq.password = "******"; mtSmsReq.destinationAddresses = address; mtSmsReq.message = "Message Received. Thanks you."; mtSmsResp = smsSender.sendSMSReq(mtSmsReq); } catch (SdpException ex) { Console.WriteLine(ex.StackTrace); } }
public L3_MessageFormatting() { InitializeComponent(); Nokia1100.SMSProvider.SMSRecieved += OnSMSReceived; SmsSender = new SmsSender(Nokia1100); }
public async Task <JsonResult> SendSMS( [FromQuery(Name = "phone")] string phone, [FromQuery(Name = "from")] string from, [FromQuery(Name = "content")] string content) { var customer = new Customer(); if (!string.IsNullOrEmpty(phone) && !string.IsNullOrEmpty(from) && !string.IsNullOrEmpty(content)) { customer.Phone = phone; customer.Alphanumeric = from; customer.Content = content; _context.Customer.Add(customer); _context.SaveChanges(); } else { return(new JsonResult(NotFound())); } var sms = new SmsSender(); var response = await sms.Send(customer.Alphanumeric, customer.Phone, customer.Content); return(new JsonResult(new { customer, response })); }
private void ProcessArrivalMessage(PmsAppointment appt, SmsMessage msg) { if (MessageMatches(msg.message, "arrived", "here", "a")) { // twilio: SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_ARRIVED_THX, appt, null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "process arrival message", appt); // PMS: appt.ArrivalStatus = AppointmentStatus.Arrived; AppointmentUpdater.SaveAppointmentStatusValue(appt); // local storage appt.ExternalData.ScreeningMessageResponse = true; appt.ExternalData.ArrivalStatus = AppointmentStatus.Arrived; Storage.SaveAppointmentStatus(appt); } else { // we haven't understood it SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_DONT_UNDERSTAND_ARRIVING, appt, null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "fail to process arrival message", appt); UnprocessableMessages.Add(msg); } }
/// <summary> /// Send sms to user /// </summary> /// <param name="userAddress">Address of the message recevier</param> /// <param name="message">Text message</param> /// <returns>True if message send successful otherwise false.</returns> public static bool Send(string userAddress, string message) { bool status = false; MtSmsReq mtSmsReq = new MtSmsReq(); mtSmsReq.applicationId = _appId; mtSmsReq.password = _password; mtSmsReq.destinationAddress = userAddress; mtSmsReq.message = message; SmsSender smsSender = new SmsSender(string.Concat(_baseUrl, Consts.URL_SMS_SEND)); MtSmsResp mtSmsResp = smsSender.SendSMSReq(mtSmsReq); if (mtSmsResp.statusCode == "SUCCESS") { status = true; } else { Log.Error(string.Format(Resources.Error_SendSmsFailed, userAddress)); } return(status); }
private void ProcessScreeningResponse(PmsAppointment appt, SmsMessage msg) { // the patient should respond with "yes" or "no" but they may not bother and just respond with "arrived" // of course they might respond with anything else that we can't understand, so we'll explain apologetically if they do if (MessageMatches(msg.message, "yes", "y")) { // twilio: SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_SCREENING_YES, appt, null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "process screening response 'yes'", appt); if (IsDoingVideo) { // PMS: appt.IsVideoConsultation = true; if (VideoManager.AsksForVideoUrl()) { AppointmentUpdater.SaveAppointmentAsVideoMeeting(appt, null, null); } else { var details = VideoManager.getConferenceDetails(appt, false); AppointmentUpdater.SaveAppointmentAsVideoMeeting(appt, "Video URL: " + details, details); } } // local storage appt.ExternalData.ScreeningMessageResponse = true; if (IsDoingVideo) { appt.ExternalData.IsVideoConsultation = true; } else { appt.IsVideoConsultation = false; } Storage.SaveAppointmentStatus(appt); } else if (MessageMatches(msg.message, "no", "n")) { SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_SCREENING_NO, appt, null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "process screening response 'no'", appt); appt.ExternalData.ScreeningMessageResponse = true; appt.IsVideoConsultation = false; Storage.SaveAppointmentStatus(appt); } else if (MessageMatches(msg.message, "arrived", "here", "a")) { ProcessArrivalMessage(appt, msg); } else { // we haven't understood it SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_DONT_UNDERSTAND_SCREENING, appt, null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "fail to process screening response", appt); UnprocessableMessages.Add(msg); } }
/// <summary> /// This method is called every X minutes to process any changes to the future appointments on the PMS side. /// Typically, this covers the next 2 days in the future (not including today, since we don't send the registration message if the appointment is made today) /// /// </summary> /// <param name="stored">The view of the appointments we already had (important, because it remembers what messages we already sent)</param> /// <param name="incoming">The current information from the PMS</param> public int ProcessUpcomingAppointments(List <PmsAppointment> appointments) { // pseudo code // for each incoming appointment // is it new - send the pre-registration message, and add it to stored int t = 0; foreach (var appt in appointments.Where(n => IsUseablePhoneNumber(n.PatientMobilePhone) && IsNearFuture(n.AppointmentStartTime) && isNotIgnoreDoctor(n.PractitionerFhirID))) // we only send these messages 2-3 days in the future { try { if (!appt.ExternalData.PostRegistrationMessageSent) { t++; SmsMessage msg = new SmsMessage(NormalisePhoneNumber(appt.PatientMobilePhone), TemplateProcessor.processTemplate(MessageTemplate.MSG_REGISTRATION, appt, null)); SmsSender.SendMessage(msg); LogMsg(OUT, msg, "send registration message", appt); appt.ExternalData.PostRegistrationMessageSent = true; Storage.SaveAppointmentStatus(appt); } } catch (Exception e) { Logger.Log(ERR, "Exception processing " + appt.AppointmentFhirID + ": " + e.Message); } } return(t); }
protected async void SendSms_Click(object sender, EventArgs e) { var cid = Request.QueryString["cid"]; CustomerModel customer = new CustomerModel(Convert.ToInt32(cid)); string customerPhone = customer.phonNumber; string customername = customer.firstnmae + " " + customer.lastname; string teratmentID = Request.QueryString["tid"].ToString(); RepairJobl repairJob = new RepairJobl(Convert.ToInt32(teratmentID)); string LicensePlate = repairJob.license_Number; Garge garge = new Garge(Convert.ToInt32(Session["UserID"])); string garageName = garge.GetNameGarga(); string garageNumber = garge.GetPhone(); //This Method Sends Using API and its ASYNC (You have to wait until the process ends) await SmsSender.SendUsingAPIAsync( garageNumber, garageName, customerPhone, customername, LicensePlate ); Thread.Sleep(5000); //Sleep for 5 SECOND Until API FINISH His Work showmodel(); }
protected void btnResend_Click(object sender, EventArgs e) { _sms_EMAIL_DB_Entities = new SMS_EMAIL_DB_Entities(); var smsId = long.Parse(hdnFldSMSId.Value); sms = _sms_EMAIL_DB_Entities.tbl_Emails_SMS.Where(x => x.Id == smsId).First(); var phone = sms.Mobile_Number; var message = sms.Text; var sms_code = SmsSender.Send(phone, message); var sms_code_decode = StringHelper.ConvertResponseCode(sms_code); sms.SMS_Code = sms_code; sms.SMS_Code_Decode = sms_code_decode; sms.SMS_Sent_At = DateTime.Now; _sms_EMAIL_DB_Entities.SaveChanges(); tEvent = new tbl_Events { Created_At = DateTime.Now, Code = sms_code, Status = sms_code_decode, Email_Sms_Id = sms.Id }; _sms_EMAIL_DB_Entities.AddTotbl_Events(tEvent); _sms_EMAIL_DB_Entities.SaveChanges(); Session["NoticeMessage"] = "Please check SMS status !"; Response.Redirect("Details.aspx?id=" + smsId.ToString()); }
public ActionResult Register(RegisterViewModel register) { if (ModelState.IsValid) { string haspass = FormsAuthentication.HashPasswordForStoringInConfigFile(register.Password, "MD5"); Random rand = new Random(); int mycode = rand.Next(100000, 900000); if (!db.Users.Any(u => u.Mobile == register.Mobile)) { User user = new User() { Mobile = register.Mobile, Password = haspass, RoleId = db.Roles.Max(r => r.Id), CodeNumber = mycode.ToString() }; db.Users.Add(user); db.SaveChanges(); SmsSender sms = new SmsSender(); sms.Send(register.Mobile, "ثبت نام شما در فروشگاه انجام شد" + Environment.NewLine + "کد فعال سازی شما " + mycode.ToString()); return(RedirectToAction("")); } else { ModelState.AddModelError("Mobile", "شما فبلا ثبت نام کردید"); } } return(View(register)); }
private PmsAppointment ChooseRelevantAppointment(List <PmsAppointment> candidates, SmsMessage msg) { if (candidates.Count > 2) { SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_TOO_MANY_APPOINTMENTS, candidates[0], null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "Too many candidates", candidates[0]); UnprocessableMessages.Add(msg); } else { // pseudo code: // if the two appointments are at the same time, we only care about the first one // otherwise, in principle we are interested in the first one, unless the message response belongs to an earlier cycle ("yes" / "no") and we're waiting for that var appt1 = candidates[0].AppointmentStartTime < candidates[1].AppointmentStartTime ? candidates[0] : candidates[1]; var appt2 = candidates[0].AppointmentStartTime < candidates[1].AppointmentStartTime ? candidates[1] : candidates[0]; if (MessageMatches(msg.message, "yes", "no")) { foreach (var appt in candidates) { if (appt.ExternalData.ScreeningMessageSent && !appt.ExternalData.ScreeningMessageResponse) { return(appt); } } return(null); } else if (MessageMatches(msg.message, "joined", "ready")) { foreach (var appt in candidates) { if (appt.ExternalData.VideoInviteSent) { return(appt); } } return(null); } else if (MessageMatches(msg.message, "arrived")) { foreach (var appt in candidates) { if (appt.ArrivalStatus == AppointmentStatus.Booked) { return(appt); } } return(null); } else { SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_TOO_MANY_APPOINTMENTS, candidates[0], null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "can't choose appointment", appt1); UnprocessableMessages.Add(msg); } } return(null); }
private void ProcessUnexpectedResponse(PmsAppointment appt, SmsMessage msg) { SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_UNEXPECTED, appt, null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "unexpected message", appt); UnprocessableMessages.Add(msg); }
/// <summary> /// 发送短信验证码 /// </summary> /// <param name="templateCode"></param> /// <param name="phoneNumber"></param> /// <param name="verifyCode"></param> /// <returns></returns> protected virtual async Task SendPhoneVerifyMessageAsync(string templateCode, string phoneNumber, string verifyCode) { var sendMessage = new SmsMessage(phoneNumber, "SendSmsMessage"); sendMessage.Properties.Add("code", verifyCode); sendMessage.Properties.Add("TemplateCode", templateCode); await SmsSender.SendAsync(sendMessage); }
private void DoWork(object state) { _logger.LogInformation("Worker Service method DoWork entrance."); if (DateTime.Now.Hour >= 10 && DateTime.Now.Hour <= 14) { var tomorrowDate = DateTime.Today.AddDays(1); var list = new List <string>(); using (var scope = _services.CreateScope()) { var context = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>(); var sows = context.Sow.Where(s => !s.IsRemoved && s.DateBorn == tomorrowDate && !s.IsSmsSend || !s.IsRemoved && s.DateDetachment == tomorrowDate && !s.IsSmsSend || !s.IsRemoved && s.DateInsimination == tomorrowDate && !s.IsSmsSend || !s.IsRemoved && s.VaccineDate == tomorrowDate && !s.IsSmsSend).ToList(); foreach (var item in sows) { if (item.User.PhoneNumberConfirmed) { if (!list.Contains(item.UserId)) { list.Add(item.UserId); var userSows = sows.Where(u => u.UserId == item.UserId); var message = "Aplikacja Alocha.\nJutrzejsze wydarzenia:"; foreach (var sow in userSows) { string status = ""; switch (sow.Status) { case "Prośna": status = "Poród"; if (sow.VaccineDate == tomorrowDate) { status = "Szczepienie"; } break; case "Luźna": status = "Inseminacja"; break; case "Laktacja": status = "Oderwanie prosiąt"; break; } message += string.Format("\nLocha nr {0} - {1}", sow.Number, status); sow.IsSmsSend = true; context.SaveChanges(); } SmsSender.SendSmsAsync(string.Format("48{0}", item.User.PhoneNumber), message).GetAwaiter().GetResult(); _logger.LogInformation(string.Format("The worker service sends a sms to user: {0}, on the number {1}", item.User.Email, item.User.PhoneNumber)); } } } ; } } }
public string SendSmsBulk(string ticketIdList, string appkey) { if (appkey == Globals.Settings.AppServiceSecureKey) { SmsSender.SendSmsBulk(ticketIdList); return("OK"); } return("invalid app key"); }
private void HandleUnknownMessage(SmsMessage msg) { // a future possible enhancement is to ask the user which patient the appointment is for; this will smooth the work flow, but the response // processing might be complicated. can it be just a Medicare number and date? SmsMessage rmsg = new SmsMessage(msg.phone, TemplateProcessor.processTemplate(MessageTemplate.MSG_UNKNOWN_PH, null, null)); SmsSender.SendMessage(rmsg); LogMsg(OUT, rmsg, "handle unknown message", null); UnprocessableMessages.Add(msg); }
public Status SendSMS(Sms.Domain.Sms sms) { var sender = new SmsSender(); Status status = sender.send(sms); RegisterSmsTransaction(sms, status); return(status); }
private static ICodeSender GetSmsSender() { //此处以亿美为例 string host = "shmtn.b2m.cn:80"; string appid = "11"; //填入亿美appid string secretKey = "22"; //填入亿美secretKey ISms sms = new EmaySms(host, appid, secretKey); var sender = new SmsSender(GetFormatter(bizFlag), sms); return(sender); }
public MessageSenderJob(NotificationRepository notificationRepository, NotificationReceiverRepository notificationReceiverRepository, NotificationLogRepository notificationLogRepository, EmailSender emailSender, SmsSender smsSender) { _notificationRepository = notificationRepository; _notificationReceiverRepository = notificationReceiverRepository; _notificationLogRepository = notificationLogRepository; _emailSender = emailSender; _smsSender = smsSender; }
protected override void Seed(RaterPriceContext context) { SmsSender s = new SmsSender() { Name = "RaterPrice" }; context.SmsSenders.Add(s); //var role = CreateAdmins(context); //CreateAdmin(context, role); }
public InnerNotificationController(InnerNotificationRepository innerNotificationRepository, ISessionContext sessionContext, BranchContext branchContext, EmailSender emailSender, SmsSender smsSender) { _innerNotificationRepository = innerNotificationRepository; _sessionContext = sessionContext; _branchContext = branchContext; _emailSender = emailSender; _smsSender = smsSender; }
public void GivenAnSmsLongerThan160Characters_WhenSendSmsesIsCalled_MultipleSmsesAreSent() { var messageRepository = MockRepository.GenerateStub<IMessageRepository>(); var messageRecepientRepository = MockRepository.GenerateStub<IMessageRecepientRepository>(); var personRepository = MockRepository.GenerateStub<IPersonRepository>(); var httpPostService = MockRepository.GenerateStub<IHttpPostService>(); httpPostService.Expect(h => h.HttpSend(string.Empty)).IgnoreArguments().Return("success").Repeat.Any(); var sut = new SmsSender(messageRepository, messageRecepientRepository, personRepository, httpPostService); var currentPerson = new Person {Church = new Church {Country = "South Africa"}}; var cellNos = new List<string> {"0826527871"}; var longSms = "012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789012345789"; sut.SendSmses(longSms, cellNos, "petermunnings", "sandton2000", currentPerson); httpPostService.AssertWasCalled(x => x.HttpSend(Arg<string>.Is.Anything), options => options.Repeat.Once()); }