예제 #1
0
        public void Main()
        {
            IMessageSender email = new EmailSender();
            IMessageSender queue = new MsmqSender();
            IMessageSender web   = new WebServiceSender();

            Message message = new SystemMessage();

            message.Subject = "Test Message";
            message.Body    = "Hi, This is a Test Message";

            message.MessageSender = email;
            message.Send();

            message.MessageSender = queue;
            message.Send();

            message.MessageSender = web;
            message.Send();

            var userMsg = new UserMessage();

            userMsg.Subject      = "Test Message";
            userMsg.Body         = "Hi, This is a Test Message";
            userMsg.UserComments = "I hope you are well";

            userMsg.MessageSender = email;
            userMsg.Send();

            Console.ReadKey();
        }
예제 #2
0
        public IActionResult ForgetPassword([FromBody] ForgetPasswordRequest forgetPassword)
        {
            try
            {
                if (!ValidateForgetPasswordRequest(forgetPassword))
                {
                    return(BadRequest(new { Message = "Please input the Data Properly." }));
                }

                UserResponseModel data = _userBusiness.ForgetPassword(forgetPassword);
                bool   status          = false;
                string message;
                string token;
                if (data == null)
                {
                    message = "No User Found with this Email-Id: " + forgetPassword.EmailId;
                    return(Ok(new { status, message }));
                }
                else
                {
                    token = GenerateToken(data, _forgetPassword);
                    MsmqSender.SendToMsmq(forgetPassword.EmailId, token);
                    status  = true;
                    message = "An Password Reset Link has been Send to the above Email";
                    return(Ok(new { status, message, token }));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(new { e.Message }));
            }
        }
예제 #3
0
        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();
        }
예제 #4
0
        public async Task <IActionResult> ForgotPassword(ForgotPasswordRequest forgotPassword)
        {
            try
            {
                if (!ValidateForgotPasswordRequest(forgotPassword))
                {
                    return(BadRequest(new { Message = "Please Enter Proper Data" }));
                }

                var data = await _userBusiness.ForgotPassword(forgotPassword);

                if (data != null)
                {
                    token   = GenerateToken(data, "ForgotPassword");
                    success = true;
                    message = "Use this token to Reset Password";
                    MsmqSender.SendToMsmq(data.Email, token);
                    return(Ok(new { success, message, token }));
                }
                else
                {
                    message = "No User Found with this Email-ID: " + forgotPassword.Email;
                    return(NotFound(new { success, message }));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(new { ex.Message }));
            }
        }
예제 #5
0
파일: AccountRL.cs 프로젝트: shiv-N/Fundoo
        /// <summary>
        /// Forgots the password.
        /// </summary>
        /// <param name="model">The model.</param>
        /// <returns></returns>
        public string ForgotPassword(ForgotPassword model)
        {
            SqlConnection connection = DBConnection();
            string        email      = model.Email;
            SqlCommand    command    = StoreProcedureConnection("spForgotPassword", connection);

            command.Parameters.AddWithValue("@Email", model.Email);
            connection.Open();
            SqlDataReader dataReader = command.ExecuteReader();

            if (dataReader.Read())
            {
                int    id    = (int)dataReader["Id"];
                string token = GenrateJWTToken(email, id);
                msmq = new MsmqSender();
                msmq.SendToMsmq(token, model.Email);
                return(token);
            }
            return(string.Empty);
        }
예제 #6
0
		/// <summary>
		/// 创建发送器(线程安全)
		/// </summary>
		/// <param name="url">url地址,诸如:udp://127.0.0.1:9999</param>
		/// <param name="exclusive">是否由通信器统一管理</param>
		/// <returns>数据发送器。如果是null,则表示数据接收器已经存在</returns>
		/// <exception cref="System.ArgumentException">当不能创建时,抛出异常</exception>
		/// <exception cref="System.Net.Sockets.SocketException">当不能创建时,抛出异常</exception>
		public DataSender CreateSender(string url, bool exclusive)
		{
			DataSender sender = null;
			lock (m_senders)	// 锁定发送器集合
			{
				if (!m_senders.TryGetValue(url, out sender))
				{
					PipelineAddress sa = PipelineAddress.Parse(url);
					switch (sa.CommuncationType)
					{
						case CommuncationType.Tcp:
							sender = new TcpSharpSender((IPEndPoint)sa.Address);
							break;
						case CommuncationType.Udp:
						case CommuncationType.Udps:
							sender = new UdpSharpSender((IPEndPoint)sa.Address);
							break;
						case CommuncationType.Msmq:
							sender = new MsmqSender((string)sa.Address);
							break;
						case CommuncationType.Ftp:
							break;
						case CommuncationType.Sms:
							throw new ArgumentException(String.Format("NotSupportedCommunication:{0}", url));
						case CommuncationType.Http:
							throw new ArgumentException(String.Format("NotSupportedCommunication:{0}", url));
						case CommuncationType.SharedMemory:
							sender = new ShareMemorySender((ShareMemoryEndPoint)sa.Address);
							break;
						case CommuncationType.SharedRegion:
							break;
						case CommuncationType.Unknown:
							throw new ArgumentException(String.Format("NotSupportedCommunication:{0}", url));
						default:
							throw new ArgumentException(String.Format("Illegal url: {0}", url));
					}

					if (sender != null && !exclusive)
					{
						m_senders.Add(url, sender);
					}
				}
			}

			return sender;
		}