public HttpResponseMessage GetCaptcha([FromUri] Employee emp) { if (emp == null || string.IsNullOrEmpty(emp.Code) || string.IsNullOrEmpty(emp.Alias)) { return(Request.CreateResponse(HttpStatusCode.BadRequest, Error.LackInfo)); } EmployeeMap employeeMap = new EmployeeMap(); employeeMap.Alias = emp.Alias; employeeMap.Code = emp.Code; employeeMap.CaptchaExpiresTime = DateTime.UtcNow.AddMinutes(30); string sql = @"select * from EmployeeMap where Code = @Code"; try { using (IDbConnection connection = new SqlConnection(DBHelper.GetConnectionString())) { var employeeMaps = connection.Query <EmployeeMap>(sql, employeeMap); if (employeeMaps == null || employeeMaps.Count() == 0) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, Error.Server)); } else { Random random = new Random(); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < 6; i++) { stringBuilder.Append(random.Next() % 10); } employeeMap.Captcha = stringBuilder.ToString(); //database sql = @"update EmployeeMap set Alias = @Alias, Captcha = @Captcha, CaptchaExpiresTime = @CaptchaExpiresTime where Code = @Code"; connection.Execute(sql, employeeMap); //email CaptchaMessage message = new CaptchaMessage() { Alias = employeeMap.Alias, Captcha = employeeMap.Captcha }; MessageHelper.SendMessage(message); //SendEmail(employeeMap.Alias, employeeMap.Captcha); return(Request.CreateResponse(HttpStatusCode.OK)); } } } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, Error.Server)); } }
public static void SendMessage(CaptchaMessage message) { if (Client == null) { Client = QueueClient.CreateFromConnectionString(ConfigurationManager.AppSettings["QueueConnectionString"].ToString(), ConfigurationManager.AppSettings["QueueName"].ToString()); } var brokeredMessage = new BrokeredMessage(JsonConvert.SerializeObject(message)); Client.Send(brokeredMessage); }