public ModelInvokeResult <SmsSendPK> Create(SmsSend smsSend) { ModelInvokeResult <SmsSendPK> result = new ModelInvokeResult <SmsSendPK> { Success = true }; try { List <IBatisNetBatchStatement> statements = new List <IBatisNetBatchStatement>(); if (smsSend.Id == -1) { smsSend.Id = null; } statements.Add(new IBatisNetBatchStatement { StatementName = smsSend.GetCreateMethodName(), ParameterObject = smsSend.ToStringObjectDictionary(false), Type = SqlExecuteType.INSERT }); /***********************begin 自定义代码*******************/ /***********************此处添加自定义代码*****************/ /***********************end 自定义代码*********************/ BuilderFactory.DefaultBulder().ExecuteNativeSqlNoneQuery(statements); result.instance = new SmsSendPK { Id = smsSend.Id }; } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.Message; } return(result); }
public override SendSMSResponseBody ExecuteCore() { string randText = RandomText.GetNum(6); //生成6位验证码 var codeInfo = SendContentConfig.SMSRegisterDesc(randText); //组织发送内容 string error = ""; bool succ = SmsSend.ToUser(this.request.Mobile, codeInfo, out error);//开始发送 if (!succ) { throw new Exception(error); } int codeId = User.UserUtility.AddCode(db, CodeType.Register, randText, codeInfo, this.request.Mobile); //发送成功后记录验证码 if (codeId <= 0) { throw new Exception("验证码发送失败"); } return(new SendSMSResponseBody() { Status = ResultStatus.Success, //CheckCode = randText }); }
public ModelInvokeResult <SmsSendPK> Update(string strId, SmsSend smsSend) { ModelInvokeResult <SmsSendPK> result = new ModelInvokeResult <SmsSendPK> { Success = true }; try { List <IBatisNetBatchStatement> statements = new List <IBatisNetBatchStatement>(); int _Id = Convert.ToInt32(strId); statements.Add(new IBatisNetBatchStatement { StatementName = smsSend.GetUpdateMethodName(), ParameterObject = smsSend.ToStringObjectDictionary(false), Type = SqlExecuteType.UPDATE }); /***********************begin 自定义代码*******************/ /***********************此处添加自定义代码*****************/ /***********************end 自定义代码*********************/ BuilderFactory.DefaultBulder().ExecuteNativeSqlNoneQuery(statements); result.instance = new SmsSendPK { Id = _Id }; } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.Message; } return(result); }
public async Task <ExcutedResult> SendAsync(string phoneNumber, string content, int client, String countryNumber = "", string templateCode = "") { var result = await Send(phoneNumber, content, client, countryNumber, templateCode); IHttpContextAccessor httpContextAccessor = AspectCoreContainer.Resolve <IHttpContextAccessor>(); var clientIp = httpContextAccessor.HttpContext.GetRequestIp4Address().ToString(); var smsSend = new SmsSend { Id = Guid.NewGuid(), Mobile = result.PhoneNumber, Content = result.Content, CreateTime = DateTime.UtcNow, SmsProxy = Name, SmsProxyResp = result.ResponseStr, IsSuccess = result.IsSuccess, Client = client, LoginIp = clientIp }; ISmsSendRepository smsSendRepository = AspectCoreContainer.Resolve <ISmsSendRepository>(); smsSendRepository.Insert(smsSend); if (result.IsSuccess) { return(ExcutedResult.SuccessResult()); } return(ExcutedResult.FailedResult(BusinessResultCode.SmsSendFail, "短信发送失败")); }
public IActionResult SendSms(string phone, string content) { SmsSend sms = new SmsSend(); var data = sms.Sms(phone, content); return(Ok(data)); }
public CaptchaHelperModel SendAuthCode(CaptchaEnum captchaEnum, int accId, CaptchaPhoneEmailEnum typeEnum, string phoneOrEmail) { var redisCacheService = new RedisCacheService(); if (string.IsNullOrWhiteSpace(phoneOrEmail)) { throw new ArgumentNullException("phoneOrEmail", "手机号码邮箱地址为空"); } //获取失败次数 var strWrongTimesKey = GetWrongTimesKey(captchaEnum, accId); int iWrongTimes = redisCacheService.Get <int>(strWrongTimesKey); //判断验证码错误次数 if (iWrongTimes > _checkWrongTimes) { return(new CaptchaHelperModel(false, "验证码错误次数过多,请1小时后重试或联系客服", typeEnum)); } //获取验证码key var strCaptchaKey = GetCaptchaKey(captchaEnum, accId, phoneOrEmail); if (string.IsNullOrEmpty(strCaptchaKey)) { return(new CaptchaHelperModel(false, "错误的手机号或邮箱", typeEnum)); } //判断是否之前发过验证码 int iCaptcha = redisCacheService.Get <int>(strCaptchaKey); if (iCaptcha == 0) { iCaptcha = Helper.GetInt32(Helper.GetRandomNum(), 111111); } var smsStr = string.Format("【生意专家】您本次获取的验证码为:{0},此验证码{1}分钟内有效。维护您的数据安全是生意专家义不容辞的责任。", iCaptcha, _outTimeMinutes); var mailSend = new EmailSend(); var smsSend = new SmsSend(); var result = typeEnum == CaptchaPhoneEmailEnum.Phone ? smsSend.SendSys(phoneOrEmail, smsStr, 13) : mailSend.SendVerifiEmail(accId, "", phoneOrEmail, iCaptcha.ToString()); if (result) { _logger.Debug("发送验证码成功:" + iCaptcha); redisCacheService.Set(strCaptchaKey, iCaptcha, _outTimeMinutes * 60); return(new CaptchaHelperModel(true, "发送验证码成功", CaptchaPhoneEmailEnum.Email)); } else { return(new CaptchaHelperModel(false, "发送失败", CaptchaPhoneEmailEnum.Email)); } }
/// <summary> /// 根据用户名送短信 /// </summary> /// <param name="request"></param> /// <returns></returns> public bool SendMessgae(SendMessgae request) { using (var db = DbFactory.Open()) { if (string.IsNullOrEmpty(request.name)) { throw new Exception("用户名不能为空"); } var builder = db.From <UserInfo>(); if (!string.IsNullOrEmpty(request.name)) { builder.Where(x => x.UserName == request.name); } var checkCode = HostContext.AppHost.Resolve <ICacheClient>().Get <string>("checkCode"); if (!string.IsNullOrEmpty(checkCode)) { HostContext.AppHost.Resolve <ICacheClient>().Remove("checkCode"); } var info = db.Single(builder); if (info != null) { if (!ValidatorHelper.IsMobile(info.UserName) && string.IsNullOrEmpty(info.Mobile))//|| ValidatorHelper.IsMobile(info.Mobile) { throw new Exception("该用户没有手机号码"); } Random rd = new Random(); int num = rd.Next(100000, 1000000); var content = "您正在登陆《浙江省基层防汛防台体系信息管理系统》,为防止他人登陆系统篡改信息千万不要告诉他人验证码 " + num.ToString() + "[五分钟内有效]。如不是您自己操作,请忽略。"; var msg = SmsSend.SendSMS(info.UserName, content); if (msg != "" && msg.IndexOf("-") > 0) { var message = new SaveSmsMessage(); message.adcd = info.adcd; message.Content = content; message.Mobile = info.UserName; message.UserName = info.UserName; message.name = info.RealName; message.tm = DateTime.Now; MessageManager.SaveMessage(message); HostContext.AppHost.Resolve <ICacheClient>().Add("checkCode", num.ToString()); return(true); } else { return(false); } } else { throw new Exception("用户名不存在"); } } }
/// <summary> /// 发送短信,并将已发送的信息写入数据库 /// </summary> /// <param name="smsModel"></param> /// <param name="dt"></param> private static void SmsSendAndInsert(SmsSendInfo smsModel, DataTable dt) { try { SmsSend smssBll = new SmsSend(); DataRow dr = null; if (dt != null && dt.Rows.Count > 0) { dr = dt.Rows[0]; } bool isSuccess = SmsHelper.SmsSendByPost(smsModel.MobilePhone, smsModel.SmsContent); DateTime currTime = DateTime.Now; string[] mobiles = smsModel.MobilePhone.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string mobile in mobiles) { SmsSendInfo model = new SmsSendInfo(); model.UserId = smsModel.UserId; model.OrderCode = smsModel.OrderCode == null ? "" : smsModel.OrderCode; model.CarScanCode = smsModel.CarScanCode == null ? "" : smsModel.CarScanCode; model.TranNode = smsModel.TranNodeText == null ? "" : smsModel.TranNodeText; model.Receiver = smsModel.Receiver == null ? "" : smsModel.Receiver; model.MobilePhone = smsModel.MobilePhone = mobile; model.SmsContent = smsModel.SmsContent; model.SendDate = currTime; model.LastUpdatedDate = currTime; model.SendStatus = (short)2; if (isSuccess) { model.SendStatus = (short)1; } model.Customer = ""; if (dr != null && dr["Customer"] != DBNull.Value) { model.Customer = dr["Customer"].ToString().Trim(); } smssBll.Insert(model); } } catch (Exception ex) { string error = ""; error += "手机号:" + smsModel.MobilePhone == null ? "无" : smsModel.MobilePhone + ","; error += "订单号:" + smsModel.OrderCode == null ? "无" : smsModel.OrderCode + ","; error += "运输节点:" + smsModel.TranNodeText == null ? "无" : smsModel.TranNodeText + ","; error += "派车单号:" + smsModel.CarScanCode == null ? "无" : smsModel.CarScanCode + ","; error += "短信内容:" + smsModel.SmsContent == null ? "无" : smsModel.SmsContent + ","; WriteLog log = new WriteLog(); log.Write("执行添加短信发送数据到数据库异常(" + ex.Message + "),详情:" + error + ""); } }
private static bool Send(string phone, string content, out string result) { SmsSend.SmsSendMod info = new SmsSend.SmsSendMod(); info.ServerUrl = Config.SmsConfig.ServerUrl; info.AppId = Convert.ToInt32(Config.SmsConfig.AppId); info.AppKey = Config.SmsConfig.AppKey; info.Phone = phone; info.Content = content; SmsSend ss = new SmsSend(info); return(ss.Send(out result)); }
public IFormFile UploadFile(IFormFile model, int KorisnikId) { NastavnoOsoblje x = GetLogirani(KorisnikId); if (model != null) { x.NppFilePath = FileUploadDelete.Upload(_hostingEnvironment, model, "fileUpload", x.NppFilePath); SmsSend.Send(_SmsOptions, "38762738460", "Nastavnik " + x.Ime + " " + x.Prezime + " je postavio dokument"); _context.SaveChanges(); } return(model); }
private void Bind() { GetSearch(); List <SmsSendInfo> list = null; SmsSend bll = new SmsSend(); list = bll.GetList(pageIndex, pageSize, out totalRecords, sqlWhere, parms == null ? null : parms.ToArray()); rpData.DataSource = list; rpData.DataBind(); htmlAppend += "<div id=\"myDataForPage\" style=\"display:none;\">[{\"PageIndex\":\"" + pageIndex + "\",\"PageSize\":\"" + pageSize + "\",\"TotalRecord\":\"" + totalRecords + "\",\"QueryStr\":\"" + queryStr + "\"}]</div>"; }
public CollectionInvokeResult <StringObjectDictionary> QueuedSendSms(SmsSend smsSend) { CollectionInvokeResult <StringObjectDictionary> result = new CollectionInvokeResult <StringObjectDictionary> { Success = true }; try { StringObjectDictionary filters = new { Status = smsSend.Status, OrderByClause = " BatchNum,CheckInTime desc" }.ToStringObjectDictionary(); result.rows = BuilderFactory.DefaultBulder().ListStringObjectDictionary("SmsSend_List2", filters); } catch (Exception e) { result.Success = false; result.ErrorMessage = e.Message; } return(result); }
/// <summary> /// 新增一条质检记录 /// </summary> /// <param name="qcRecord">质检实体</param> /// <returns></returns> public static bool Insert(SmsSend qcRecord) { bool rbool = true; using (DCQUALITYDataContext db = new DCQUALITYDataContext()) { try { db.SmsSend.InsertOnSubmit(qcRecord); db.SubmitChanges(); rbool = true; } catch { rbool = false; } finally { db.Connection.Close(); } } return(rbool); }
public string DelSmsSend(string itemAppend) { itemAppend = itemAppend.Trim(); if (string.IsNullOrEmpty(itemAppend)) { return(MessageContent.Submit_InvalidRow); } try { SmsSend smssBll = new SmsSend(); string[] Ids = itemAppend.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); smssBll.DeleteBatch(Ids.ToList <object>()); return("1"); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// 发送信息。 /// </summary> /// <param name="sm"></param> /// <returns></returns> private string SendInfo(Send_Mod sm) { SmsSend.SmsSendMod info = new SmsSend.SmsSendMod(); info.ServerUrl = Config.SmsConfig.ServerUrl; info.AppId = Convert.ToInt32(Config.SmsConfig.AppId); info.AppKey = Config.SmsConfig.AppKey; info.Phone = sm.Phone; info.Content = sm.Content; SmsSend ss = new SmsSend(info); string msg; bool IsOk = ss.Send(out msg); if (IsOk) { return("0"); } else { return(msg); } }
public InvokeResult Update2(SmsSend smsSend) { InvokeResult result = new InvokeResult { Success = true }; smsSend.SendTime = DateTime.Now; try { List <IBatisNetBatchStatement> statements = new List <IBatisNetBatchStatement>(); statements.Add(new IBatisNetBatchStatement { StatementName = "SmsSend_Update2", ParameterObject = smsSend.ToStringObjectDictionary(false), Type = SqlExecuteType.UPDATE }); BuilderFactory.DefaultBulder().ExecuteNativeSqlNoneQuery(statements); } catch (Exception ex) { result.Success = false; result.ErrorMessage = ex.Message; } return(result); }
public ReturnObject Update_Appointment(Appointment appointment) { ReturnObject returnData = new ReturnObject(); try { if (appointment.Id > 0) { using (var db = new ddiarydbEntities()) { var dbAppointment = db.Appointments.Where(x => x.Id == appointment.Id).FirstOrDefault(); if (db.Appointments.Any(x => x.Id != appointment.Id && x.DateStart == appointment.DateStart && x.DateEnd == appointment.DateEnd)) { returnData.message = "This time slot booked."; returnData.status_code = Convert.ToInt32(Status.AlreadyExists); returnData.data1 = appointment; return(returnData); } dbAppointment.DateStart = appointment.DateStart; dbAppointment.DateEnd = appointment.DateEnd; dbAppointment.DoctorId = appointment.DoctorId; dbAppointment.PatientId = appointment.PatientId; dbAppointment.PatientName = appointment.PatientName; dbAppointment.PatientMobile = appointment.PatientMobile; dbAppointment.Relation = appointment.Relation; dbAppointment.Status = appointment.Status; dbAppointment.SessionId = appointment.DateStart.ToString("ddMMyyyyHHmm") + appointment.DateEnd.ToString("HHmm"); dbAppointment.UpdatedDate = DateTime.Now; //dbAppointment.Message = appointment.Message; db.Entry(dbAppointment).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); try { var doctor = db.Doctor_Master.Where(x => x.Doctor_id == dbAppointment.DoctorId).FirstOrDefault(); var sms = "Your Appointment is Updated Successfully!" + Environment.NewLine + "Now, Appointment booked with Dr." + doctor.Doctor_name + " on " + dbAppointment.DateStart.ToString("dd MMM yyyy") + " " + dbAppointment.DateStart.ToString("hh:mm tt") + " to " + dbAppointment.DateEnd.ToString("hh:mm tt"); sms += appointment.Message != "" ? Environment.NewLine + (" Reason: " + appointment.Message) : ""; SmsSend.Send(appointment.PatientMobile, sms); } catch (Exception) { } returnData.message = "Successfull"; returnData.status_code = Convert.ToInt32(Status.Sucess); returnData.data1 = dbAppointment; } } else { returnData.message = "Oops something went wrong! "; returnData.status_code = Convert.ToInt32(Status.Failed); } } catch (Exception ex) { ErrHandler.WriteError(ex.Message, ex); returnData.data1 = ex; returnData.message = "Oops something went wrong! "; returnData.status_code = Convert.ToInt32(Status.Failed); } return(returnData); }
public string SmsSendByImport(SmsSendInfo model) { if (string.IsNullOrEmpty(model.SmsContent.Trim())) { return("发送失败,短信内容不能为空"); } if (string.IsNullOrWhiteSpace(model.MobilePhone)) { return("请导入手机号码"); } List <string> mobileList = new List <string>(); try { model.MobilePhone = model.MobilePhone.Trim(); string[] mobilePhoneArr = model.MobilePhone.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string item in mobilePhoneArr) { if (Regex.IsMatch(item, @"(\d+){11,15}")) { if (!mobileList.Contains(item)) { mobileList.Add(item); } } } if (mobileList.Count == 0) { return("无任何正确的手机号码,无法发送短信"); } Guid templateId = Guid.Empty; if (model.SmsTemplateId != null) { Guid.TryParse(model.SmsTemplateId.ToString(), out templateId); } try { if (!templateId.Equals(Guid.Empty)) { SmsTemplate smstBll = new SmsTemplate(); var smstModel = smstBll.GetModel(model.SmsTemplateId); if (smstModel == null) { return("发送失败,原因:模板不存在或已被删除"); } if (smstModel.TemplateType == "auto") { return("发送失败,原因:不能选择自动类型的模板"); } model.SmsContent = smstModel.SmsContent; } else { model.SmsContent = string.Format(model.SmsContent, model.ParamsValue.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); } } catch { return("发送失败,原因:已选参数与短信内容匹配有错,请正确操作"); } SmsSend ssBll = new SmsSend(); if (mobileList.Count > 100) { while (mobileList.Count > 0) { var q = mobileList.Take(100); if (q.Count() > 0) { var currList = q.ToList <string>(); SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.MobilePhone = string.Join(",", currList); ssiModel.MobilePhone = model.MobilePhone; ssiModel.SmsContent = model.SmsContent.Trim(); ssBll.InsertByStrategy(ssiModel); foreach (var item in currList) { mobileList.Remove(item); } } } } else { SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.MobilePhone = model.MobilePhone; ssiModel.SmsContent = model.SmsContent.Trim(); ssBll.InsertByStrategy(ssiModel); } return("1"); } catch (Exception ex) { return("异常:" + ex.Message); } }
public string SmsSend(SmsSendInfo model) { if (string.IsNullOrEmpty(model.SmsContent.Trim())) { return("发送失败,短信内容不能为空"); } try { model.TemplateType = model.TemplateType.Trim(); model.SmsTemplateId = model.SmsTemplateId.ToString().Trim(); model.SmsContent = model.SmsContent.Trim(); model.NumberType = model.NumberType.Trim(); model.NumberCode = model.NumberCode.Trim(); model.ParamsCode = model.ParamsCode.Trim(); model.ParamsName = model.ParamsName.Trim(); model.ParamsValue = model.ParamsValue.Trim(); model.TranNode = model.TranNode.Trim(); #region 短信内容与参数对应检查 try { if (model.SmsTemplateId.ToString() != "") { Guid templateId = Guid.Empty; Guid.TryParse(model.SmsTemplateId.ToString(), out templateId); if (templateId.Equals(Guid.Empty)) { return(MessageContent.GetString(MessageContent.Request_Data_Invalid, "当前模板")); } SmsTemplate smstBll = new SmsTemplate(); var smstModel = smstBll.GetModel(templateId); if (smstModel == null) { return(MessageContent.GetString(MessageContent.Request_Data_Invalid, "当前模板")); } if (smstModel.TemplateType == "auto") { if (model.NumberType == "MobilePhone") { return("发送失败,原因:当号码类型为手机号码时,则不能选择自动类型的模板"); } string content = string.Format(model.SmsContent, model.ParamsCode.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); } else if (model.TemplateType == "custom") { string content = string.Format(model.SmsContent, model.ParamsValue.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); } } else { if (model.TemplateType == "auto") { if (model.NumberType == "MobilePhone") { return("发送失败,原因:当号码类型为手机号码时,则不能选择自动类型的模板"); } string content = string.Format(model.SmsContent, model.ParamsCode.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); } else if (model.TemplateType == "custom") { string content = string.Format(model.SmsContent, model.ParamsValue.Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); } } } catch { return("发送失败,原因:已选参数与短信内容匹配有错,请正确操作"); } #endregion SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.TemplateType = model.TemplateType; ssiModel.TranNode = model.TranNode.Trim(); ssiModel.TranNodeText = model.TranNodeText.Trim(); ssiModel.ParamsCode = model.ParamsCode; ssiModel.ParamsName = model.ParamsName; ssiModel.ParamsValue = model.ParamsValue; ssiModel.SmsContent = model.SmsContent.Trim(); ssiModel.SmsTemplateId = model.SmsTemplateId; switch (model.NumberType) { case "MobilePhone": ssiModel.MobilePhone = model.NumberCode; if (!Regex.IsMatch(ssiModel.MobilePhone, @"^(\d+){11,15}$")) { return(MessageContent.GetString(MessageContent.Request_InvalidValue, "手机号码")); } break; case "OrderCode": ssiModel.OrderCode = model.NumberCode; break; case "CarScanCode": ssiModel.CarScanCode = model.NumberCode; break; default: break; } SmsSend ssBll = new SmsSend(); ssBll.InsertByStrategy(ssiModel); return("1"); } catch (Exception ex) { return("异常:" + ex.Message); } }
public string PreviewSmsSend(SmsSendInfo model) { try { model.NumberType = model.NumberType.Trim(); model.SmsTemplateId = model.SmsTemplateId.ToString().Trim(); model.NumberCode = model.NumberCode.Trim(); model.ParamsCode = model.ParamsCode.Trim(); if (model.SmsTemplateId.ToString() != "") { #region 使用模板 Guid templateId = Guid.Empty; Guid.TryParse(model.SmsTemplateId.ToString(), out templateId); if (templateId.Equals(Guid.Empty)) { return(MessageContent.GetString(MessageContent.Request_InvalidArgument, "模板ID")); } SmsTemplate smstBll = new SmsTemplate(); var smstModel = smstBll.GetModel(templateId); if (smstModel == null) { return(MessageContent.GetString(MessageContent.Request_Data_Invalid, "当前模板")); } if (smstModel.TemplateType == "auto") { if (model.NumberType != "OrderCode") { return("当选择的模板类型为自动类型时,号码类型必须是订单号才能预览"); } return(smstBll.GetTemplateContent(model.SmsTemplateId, model.NumberCode)); } else if (model.TemplateType == "custom") { return(string.Format(model.SmsContent, model.ParamsValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))); } else { return(model.SmsContent); } #endregion } else if (model.TemplateType == "auto") { if (model.NumberType != "OrderCode" || model.ParamsCode == "") { return("当选择的模板类型为自动类型时,号码类型必须是订单号,且必须选择参数才能预览,"); } SmsSend ssBll = new SmsSend(); return(ssBll.GetSmsContent(model.NumberCode, model.SmsContent, model.ParamsCode)); } else if (model.TemplateType == "custom") { return(string.Format(model.SmsContent, model.ParamsValue.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))); } else { return(model.SmsContent); } } catch (Exception ex) { return("异常:" + ex.Message); } }
public ReturnObject Insert_Appointment(Appointment appointment) { ReturnObject returnData = new ReturnObject(); try { using (var db = new ddiarydbEntities()) { if (db.Appointments.Any(x => x.DateStart == appointment.DateStart && x.DateEnd == appointment.DateEnd)) { returnData.message = "This time slot booked."; returnData.status_code = Convert.ToInt32(Status.AlreadyExists); returnData.data1 = appointment; return(returnData); } appointment.CreatedDate = DateTime.Now; appointment.UpdatedDate = DateTime.Now; db.Appointments.Add(appointment); db.SaveChanges(); Patient_Master patient = new Patient_Master(); patient = db.Patient_Master.Where(x => x.Patient_contact == appointment.PatientMobile).FirstOrDefault(); if (patient == null) { patient = new Patient_Master(); patient.Reg_Date = DateTime.Now; patient.Patient_name = appointment.PatientName; patient.Patient_contact = appointment.PatientMobile; patient.relation = appointment.Relation; patient.IsActive = false; patient.User_Id = db.Doctor_Master.Where(x => x.Doctor_id == appointment.DoctorId).Select(x => x.User_id).FirstOrDefault(); db.Patient_Master.Add(patient); db.SaveChanges(); } appointment.PatientId = patient.Patient_Id; db.Entry(appointment).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); try { var doctor = db.Doctor_Master.Where(x => x.Doctor_id == appointment.DoctorId).FirstOrDefault(); var sms = "Your Appointment is Booked Successfully! Appointment booked with Dr." + doctor.Doctor_name + " on " + appointment.DateStart.ToString("dd MMM yyyy") + " " + appointment.DateStart.ToString("hh:mm tt") + " to " + appointment.DateEnd.ToString("hh:mm tt"); sms += appointment.Message != "" ? (" Reason: " + appointment.Message) : ""; SmsSend.Send(appointment.PatientMobile, sms); } catch (Exception) { } returnData.message = "Successfull"; returnData.status_code = Convert.ToInt32(Status.Sucess); returnData.data1 = appointment; } } catch (Exception ex) { ErrHandler.WriteError(ex.Message, ex); returnData.data1 = ex; returnData.message = "Oops something went wrong! "; returnData.status_code = Convert.ToInt32(Status.Failed); } return(returnData); }
/// <summary> /// 批量提交PDA扫描数据 /// </summary> /// <param name="dt">应包含opType、barCode、scanTime、userName等列</param> /// <returns>返回:包含“成功”,则调用成功,否则返回调用失败原因</returns> public string InsertByBatch(DataTable dt) { if (dt == null || dt.Rows.Count == 0) { return("无任何可保存的数据"); } string[] colNames = { "opType", "barCode", "scanTime", "userName" }; DataColumnCollection cols = dt.Columns; foreach (DataColumn col in cols) { if (!colNames.Contains(col.ColumnName)) { return("检测到提交的数据集中未包含" + col.ColumnName + "列"); } } DataRowCollection rows = dt.Rows; List <PDAOrderScanDetailInfo> osdList = new List <PDAOrderScanDetailInfo>(); //定义非重复的用户名、用户ID Dictionary <string, object> dicUser = new Dictionary <string, object>(); try { SysEnum seBll = new SysEnum(); var seList = seBll.GetList("and t2.EnumCode = 'SendReceiveType'", null); if (seList == null || seList.Count == 0) { return("服务端的操作类型未设定,请先完成设定"); } var firstModel = seList.OrderBy(m => m.Sort).First(); foreach (DataRow row in rows) { string opType = ""; if (row["opType"] != DBNull.Value) { opType = row["opType"].ToString(); } else { return("操作类型不能为空"); } var seModel = seList.Find(m => m.EnumValue.Trim() == opType.Trim()); if (seModel == null) { return("不存在操作类型:" + opType); } string barCode = ""; if (row["barCode"] != DBNull.Value) { barCode = row["barCode"].ToString(); } DateTime scanTime = DateTime.MinValue; if (row["scanTime"] != DBNull.Value) { DateTime.TryParse(row["scanTime"].ToString(), out scanTime); } if (scanTime == DateTime.MinValue) { return("数据集中包含不合法数据:scanTime值格式不正确"); } string userName = ""; if (row["userName"] != DBNull.Value) { userName = row["userName"].ToString(); } if (string.IsNullOrEmpty(userName)) { return("数据集中包含用户名为空"); } if (!dicUser.ContainsKey(userName)) { dicUser.Add(userName, Guid.Empty); } osdList.Add(new PDAOrderScanDetailInfo { OrderCode = barCode, CurrNodeId = seModel.Id, ScanTime = scanTime, Remark = seModel.Remark, Sort = seModel.Sort, LastUpdatedDate = DateTime.Now, UserName = userName, SysEnumValue = opType }); } TyUser tyuBll = new TyUser(); foreach (KeyValuePair <string, object> kvp in dicUser) { MembershipUser user = Membership.GetUser(kvp.Key, false); if (user == null) { return("不存在用户:" + kvp.Key); } TyUserInfo tyuModel = tyuBll.GetModelByUser(user.UserName); var currList = osdList.FindAll(m => m.UserName == kvp.Key); foreach (var item in currList) { item.UserId = user.ProviderUserKey; string sRemark = ""; if (tyuModel != null && !string.IsNullOrWhiteSpace(tyuModel.OrganizationName)) { sRemark = string.Format(item.Remark, tyuModel.OrganizationName); } else { sRemark = item.Remark.Replace(@"{0}", ""); } sRemark = item.SysEnumValue + ":" + sRemark; item.Remark = sRemark; } } PDAOrderScan osBll = new PDAOrderScan(); PDAOrderScanDetail osdBll = new PDAOrderScanDetail(); Order oBll = new Order(); SmsSend smsBll = new SmsSend(); var q = osdList.OrderBy(m => m.Sort); foreach (var item in q) { object nextNodeId = Guid.Empty; var currSeModel = seList.Find(m => m.EnumValue.Trim() == item.SysEnumValue); var nextSeModel = seList.FindAll(m => m.Sort > item.Sort).OrderBy(m => m.Sort).FirstOrDefault(); if (nextSeModel == null) { nextNodeId = item.CurrNodeId; } else { nextNodeId = nextSeModel.Id; } var lastSeModel = seList.OrderByDescending(m => m.Sort).First(); bool isFinish = lastSeModel.EnumValue.Trim() == item.SysEnumValue; bool isOsdExists = false; PDAOrderScanInfo currOsModel = new PDAOrderScanInfo(); currOsModel.OrderCode = item.OrderCode; currOsModel.CurrNodeId = item.CurrNodeId; currOsModel.NextNodeId = nextNodeId; currOsModel.IsFinish = isFinish; currOsModel.LastUpdatedDate = DateTime.Now; PDAOrderScanDetailInfo currOsdModel = new PDAOrderScanDetailInfo(); currOsdModel.OrderCode = item.OrderCode; currOsdModel.CurrNodeId = item.CurrNodeId; currOsdModel.ScanTime = item.ScanTime; currOsdModel.UserId = item.UserId; currOsdModel.LastUpdatedDate = currOsModel.LastUpdatedDate; currOsdModel.Remark = item.Remark; if (item.SysEnumValue == "干线发运" || item.SysEnumValue == "干线到达") { var orders = oBll.GetOrderByCarcode(item.OrderCode); if (orders == null || orders.Count() == 0) { return("操作类型:" + item.SysEnumValue + "找不到订单号,有错误"); } foreach (var currOrderCode in orders) { currOsModel.OrderCode = currOrderCode; currOsdModel.OrderCode = currOrderCode; var oldOsdList = osdBll.GetList(currOrderCode); if (oldOsdList != null) { isOsdExists = oldOsdList.Exists(m => m.CurrNodeId.Equals(item.CurrNodeId)); } if (!isOsdExists) { SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = currOrderCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { if (osBll.GetModel(currOrderCode) == null) { osBll.Insert(currOsModel); } else { osBll.Update(currOsModel); } osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } } } else if (item.Sort == firstModel.Sort) { var oldOsModel = osBll.GetModel(item.OrderCode); if (oldOsModel == null) { SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = item.OrderCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { osBll.Insert(currOsModel); osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } } else { var oldOsModel = osBll.GetModel(item.OrderCode); if (oldOsModel == null) { return("订单号:" + item.OrderCode + ",操作类型:" + item.SysEnumValue + "未取货,有错误"); } var oldOsdList = osdBll.GetList(item.OrderCode); if (oldOsdList != null) { isOsdExists = oldOsdList.Exists(m => m.CurrNodeId.Equals(item.CurrNodeId)); currOsModel.IsFinish = oldOsdList.Count == 5; } if (currOsModel.IsFinish) { continue; } if (!isOsdExists) { SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = currOsModel.OrderCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { osBll.Update(currOsModel); osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } } Console.WriteLine("request: opType:{0},barCode:{1},scanTime:{3},user:{2}", item.SysEnumValue, item.OrderCode, item.ScanTime, item.UserName); } return("保存成功"); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// 新增PDA扫描数据 /// </summary> /// <param name="opType">操作类型</param> /// <param name="barCode">单号条码</param> /// <param name="scanTime">扫描时间</param> /// <param name="userName">用户名</param> /// <returns>返回:包含“成功”,则调用成功,否则返回调用失败原因</returns> public string Insert(string opType, string barCode, DateTime scanTime, string userName) { #region 参数合法性检查 if (string.IsNullOrEmpty(opType)) { return("操作类型不能为空"); } opType = opType.Trim(); if (string.IsNullOrEmpty(barCode)) { return("单号条码不能为空"); } barCode = barCode.Trim(); //if (barCode.Length != 13) //{ // return "单号条码不正确"; //} if (scanTime == DateTime.MinValue) { return("扫描时间格式不正确"); } if (string.IsNullOrEmpty(userName)) { return("用户不能为空"); } #endregion try { MembershipUser user = Membership.GetUser(userName); if (user == null) { return("不存在用户:" + userName); } SysEnum seBll = new SysEnum(); var seList = seBll.GetList("and t2.EnumCode = 'SendReceiveType'", null); if (seList == null || seList.Count == 0) { return("服务端的操作类型未设定,请先完成设定"); } var firstModel = seList.OrderBy(m => m.Sort).First(); var currSeModel = seList.Find(m => m.EnumValue.Trim() == opType); if (currSeModel == null) { return("当前操作类型“" + opType + "”不存在"); } object nextNodeId = Guid.Empty; var nextSeModel = seList.FindAll(m => m.Sort > currSeModel.Sort).OrderBy(m => m.Sort).FirstOrDefault(); if (nextSeModel == null) { nextNodeId = currSeModel.Id; } else { nextNodeId = nextSeModel.Id; } bool isOsdExists = false; PDAOrderScanInfo currOsModel = new PDAOrderScanInfo(); currOsModel.OrderCode = barCode; currOsModel.CurrNodeId = currSeModel.Id; currOsModel.NextNodeId = nextNodeId; currOsModel.IsFinish = false; currOsModel.LastUpdatedDate = DateTime.Now; PDAOrderScanDetailInfo currOsdModel = new PDAOrderScanDetailInfo(); currOsdModel.OrderCode = barCode; currOsdModel.CurrNodeId = currOsModel.CurrNodeId; currOsdModel.ScanTime = scanTime; currOsdModel.UserId = user.ProviderUserKey; currOsdModel.LastUpdatedDate = currOsModel.LastUpdatedDate; Order oBll = new Order(); PDAOrderScan osBll = new PDAOrderScan(); PDAOrderScanDetail osdBll = new PDAOrderScanDetail(); TyUser tyuBll = new TyUser(); SmsSend smsBll = new SmsSend(); string sRemark = ""; TyUserInfo tyuModel = tyuBll.GetModelByUser(user.UserName); if (tyuModel != null && !string.IsNullOrWhiteSpace(tyuModel.OrganizationName)) { sRemark = string.Format(currSeModel.Remark, tyuModel.OrganizationName); } else { sRemark = currSeModel.Remark.Replace(@"{0}", ""); } sRemark = currSeModel.EnumValue + ":" + sRemark; currOsdModel.Remark = sRemark; if (opType == "干线发运" || opType == "干线到达") { var orders = oBll.GetOrderByCarcode(barCode); if (orders == null || orders.Count() == 0) { return("操作类型:" + barCode + "找不到订单号,有错误"); } foreach (var currOrderCode in orders) { currOsModel.OrderCode = currOrderCode; currOsdModel.OrderCode = currOrderCode; var oldOsdList = osdBll.GetList(currOrderCode); if (oldOsdList != null) { isOsdExists = oldOsdList.Exists(m => m.CurrNodeId.Equals(currSeModel.Id)); } if (isOsdExists) { return("订单号:" + currOrderCode + " 操作类型:" + opType + "已存在,不能重复提交"); } //发短信 SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = currOrderCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { if (osBll.GetModel(currOrderCode) == null) { osBll.Insert(currOsModel); } else { osBll.Update(currOsModel); } osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } } else if (currSeModel.Sort == firstModel.Sort) { var oldOsModel = osBll.GetModel(barCode); if (oldOsModel != null) { return("订单号:" + barCode + ",操作类型:" + opType + "已存在,不能重复提交"); } SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = barCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { osBll.Insert(currOsModel); osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } else { var oldOsModel = osBll.GetModel(barCode); if (oldOsModel == null) { return("订单号:" + barCode + ",操作类型:" + opType + "未取货,有错误"); } var oldOsdList = osdBll.GetList(barCode); if (oldOsdList != null) { isOsdExists = oldOsdList.Exists(m => m.CurrNodeId.Equals(currSeModel.Id)); currOsModel.IsFinish = oldOsdList.Count == 5; } if (currOsModel.IsFinish) { return("订单号:" + barCode + "已完成所有操作"); } if (isOsdExists) { return("订单号:" + barCode + ",操作类型:" + opType + "已存在,不能重复提交"); } SmsSendInfo ssiModel = new SmsSendInfo(); ssiModel.OrderCode = barCode; ssiModel.TranNode = currSeModel.EnumCode; ssiModel.TranNodeText = currSeModel.EnumValue; using (TransactionScope scope = new TransactionScope()) { osBll.Update(currOsModel); osdBll.Insert(currOsdModel); scope.Complete(); } smsBll.InsertByStrategy(ssiModel); } Console.WriteLine("request: opType:{0},barCode:{1},scanTime:{3},user:{2}", opType, barCode, scanTime, userName); return("保存成功"); } catch (Exception ex) { return(ex.Message); } }
public async Task <bool> SendSmsAsync(SmsSend model) { try { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (isTest || model.IsTest) { model.IsTest = true; model.IsSucceed = true; return(true); } var paramers = new Dictionary <string, string>(); paramers.Add("PhoneNumbers", model.PhoneNumber); paramers.Add("SignName", model.SignName); paramers.Add("TemplateCode", model.TemplateCode); paramers.Add("TemplateParam", model.TemplateParam); paramers.Add("AccessKeyId", accessKeyId); var url = GetSignUrl(paramers, accessKeySecret); var result = await HttpGetAsync(url); if (result.StatusCode == 200 && !string.IsNullOrEmpty(result.Response)) { var message = JsonConvert.DeserializeObject <AliyunSendSmsResult>(result.Response); if (message?.Code == "OK") { model.IsSucceed = true; model.Message = message.Code; model.ReceiptId = message.BizId; return(true); } else if (message != null) { //smsRecord. model.Message = message.Message; } else { model.Message = result.Response; } } else { model.Message = "发送短信失败"; } } catch (Exception ex) { _logger.LogError(ex, $"send sms error: {ex.Message}", model); if (model != null) { model.Message = ex.Message; } } finally { if (model != null) { _logger.LogDebug($"sms: {JsonConvert.SerializeObject(model)}"); _smsSendRepository.Add(model); await _smsSendRepository.SaveChangesAsync(); } } return(false); }
private static void WorkProcessor() { try { TimeSpan tsTimeout = TimeSpan.FromSeconds(Convert.ToDouble(transactionTimeout * batchSize)); SmsSend smsBll = new SmsSend(); while (true) { TimeSpan datetimeStarting = new TimeSpan(DateTime.Now.Ticks); double elapsedTime = 0; int processedItems = 0; List <SmsSendInfo> smsList = new List <Model.SmsSendInfo>(); SmsTemplate smstBll = new SmsTemplate(); Order oBll = new Order(); for (int j = 0; j < batchSize; j++) { try { if ((elapsedTime + queueTimeout + transactionTimeout) < tsTimeout.TotalSeconds) { smsList.Add(smsBll.ReceiveFromQueue(queueTimeout)); } else { j = batchSize; // exit loop } //update elapsed time elapsedTime = new TimeSpan(DateTime.Now.Ticks).TotalSeconds - datetimeStarting.TotalSeconds; } catch (TimeoutException) { //exit loop because no more messages are waiting j = batchSize; } } if (smsList.Count > 0) { foreach (var smsModel in smsList) { try { if (!string.IsNullOrEmpty(smsModel.MobilePhone)) { string sendContent = ""; Guid templateId = Guid.Empty; if (smsModel.SmsTemplateId != null) { Guid.TryParse(smsModel.SmsTemplateId.ToString(), out templateId); } if (!templateId.Equals(Guid.Empty)) { #region 使用模板发送 sendContent = smstBll.GetTemplateContent(templateId, ""); if (sendContent == "") { WriteLog log = new WriteLog(); log.Write("手机号:“" + smsModel.MobilePhone + "”,使用了模板(ID:" + templateId + "),但是模板不存在或已被删除,无法发送短信"); continue; } #endregion } else if (!string.IsNullOrEmpty(smsModel.SmsContent)) { sendContent = smsModel.SmsContent; } if (string.IsNullOrEmpty(sendContent)) { WriteLog log = new WriteLog(); log.Write("手机号:“" + smsModel.MobilePhone + "”,短信内容为空,无法发送短信"); continue; } //发送短信并写入数据库 smsModel.SmsContent = sendContent; SmsSendAndInsert(smsModel, null); } else if (!string.IsNullOrEmpty(smsModel.OrderCode)) { DataTable dt = null; string sendMobile = ""; smsBll.GetSmsSendMobile(smsModel.OrderCode, smsModel.TranNode, out sendMobile, out dt); if (string.IsNullOrEmpty(sendMobile)) { WriteLog log = new WriteLog(); log.Write("订单号:" + smsModel.OrderCode + ",运输环节:" + smsModel.TranNodeText + ",异常:发货方或收货方手机号为空值或无效,无法发送短信"); continue; } string[] mobiles = sendMobile.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); List <string> contentList = GetSmsContent(smsModel, dt); if (contentList.Count != mobiles.Length) { WriteLog log = new WriteLog(); log.Write("订单号:" + smsModel.OrderCode + ",运输环节:" + smsModel.TranNodeText + ",异常:发货方或收货方短信模板找不到或已被删除,无法发送短信"); continue; } for (var i = 0; i < mobiles.Length; i++) { smsModel.MobilePhone = mobiles[i]; smsModel.SmsContent = contentList[i]; SmsSendAndInsert(smsModel, dt); } } else if (!string.IsNullOrEmpty(smsModel.CarScanCode)) { string[] orders = oBll.GetOrderByCarcode(smsModel.CarScanCode); if (orders.Length == 0) { WriteLog log = new WriteLog(); log.Write("派车单号:" + smsModel.CarScanCode + ",没有任何订单号,无法发送短信"); continue; } foreach (string orderCode in orders) { DataTable dt = null; string sendMobile = ""; smsBll.GetSmsSendMobile(orderCode, smsModel.TranNode == null ? "" : smsModel.TranNode, out sendMobile, out dt); if (string.IsNullOrEmpty(sendMobile)) { WriteLog log = new WriteLog(); log.Write("派车单号:“" + smsModel.CarScanCode + "”,订单号:" + orderCode + ",异常:发货方或收货方手机号为空值或无效,无法发送短信"); continue; } string[] mobiles = sendMobile.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); List <string> contentList = GetSmsContent(smsModel, dt); if (contentList.Count != mobiles.Length) { WriteLog log = new WriteLog(); log.Write("订单号:" + smsModel.OrderCode + ",运输环节:" + smsModel.TranNodeText + ",异常:发货方或收货方短信模板找不到或已被删除,无法发送短信"); continue; } for (var i = 0; i < mobiles.Length; i++) { smsModel.MobilePhone = mobiles[i]; smsModel.SmsContent = contentList[i]; SmsSendAndInsert(smsModel, dt); } } } } catch (Exception ex) { WriteLog log = new WriteLog(); string errorAppend = ""; if (!string.IsNullOrEmpty(smsModel.MobilePhone)) { errorAppend += "手机号:" + smsModel.MobilePhone + ""; } if (!string.IsNullOrEmpty(smsModel.OrderCode)) { errorAppend += "订单号:" + smsModel.OrderCode + ""; } if (!string.IsNullOrEmpty(smsModel.CarScanCode)) { errorAppend += "派车单号:" + smsModel.CarScanCode + ""; } log.Write("异常:" + ex.Message + "," + errorAppend + ""); } processedItems++; } } Thread.Sleep(2000); } } catch (Exception ex) { WriteLog log = new WriteLog(); log.Write(ex.Message); } }
public ReturnObject Update_Appointment(int id, string status, string msg) { ReturnObject returnData = new ReturnObject(); try { using (var db = new ddiarydbEntities()) { var appointment = (from s in db.Appointments where s.Id == id select s).FirstOrDefault(); if (appointment.DateStart > DateTime.Now) { appointment.Status = status; } else { appointment.Status = "Cancel"; } //appointment.CreatedDate = DateTime.Now; appointment.UpdatedDate = DateTime.Now; db.Entry(appointment).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); var sms = ""; var doctor = db.Doctor_Master.Where(x => x.Doctor_id == appointment.DoctorId).FirstOrDefault(); if (appointment.Status == "Accept") { sms = "Your Appointment is Accepted Successfully! Appointment booked with Dr." + doctor.Doctor_name + " on " + appointment.DateStart.ToString("dd MMM yyyy") + " " + appointment.DateStart.ToString("hh:mm tt") + " to " + appointment.DateEnd.ToString("hh:mm tt"); Patient_Master patient = db.Patient_Master.Where(x => x.Patient_Id == appointment.PatientId).FirstOrDefault(); if (patient != null) { patient.IsActive = true; db.Entry(patient).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } DoctorPatient_Master doctorPatient = new DoctorPatient_Master(); doctorPatient = (from x in db.DoctorPatient_Master.AsEnumerable() where x.PatientId == appointment.PatientId && x.DoctorId == appointment.DoctorId select x).FirstOrDefault(); if (doctorPatient == null) { doctorPatient = new DoctorPatient_Master(); doctorPatient.DoctorId = appointment.DoctorId; doctorPatient.PatientId = appointment.PatientId; doctorPatient.IsActive = true; doctorPatient.CreatedDate = DateTime.Now; doctorPatient.UpdatedDate = DateTime.Now; db.DoctorPatient_Master.Add(doctorPatient); db.SaveChanges(); } else { doctorPatient.UpdatedDate = DateTime.Now; db.Entry(doctorPatient).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } else if (appointment.Status == "Cancel") { sms = "Your Appointment booked on " + appointment.DateStart.ToString("dd MMM yyyy") + " " + appointment.DateStart.ToString("hh:mm tt") + " to " + appointment.DateEnd.ToString("hh:mm tt") + " is Canceled by Dr." + doctor.Doctor_name + "."; sms = msg != "" ? (sms + " Reason: " + msg) : sms; } SmsSend.Send(appointment.PatientMobile, sms); returnData.message = "Successfull"; returnData.status_code = Convert.ToInt32(Status.Sucess); returnData.data1 = appointment; } } catch (Exception ex) { ErrHandler.WriteError(ex.Message, ex); returnData.data1 = ex; returnData.message = "Oops something went wrong! "; returnData.status_code = Convert.ToInt32(Status.Failed); } return(returnData); }
public MainFrom mf;//主窗体 /// <summary> /// 单击发送按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSMSSend_Click(object sender, EventArgs e) { //短信内容 if (string.IsNullOrEmpty(txtcontent.Text.Trim())) { MessageBox.Show("请输入短信内容"); return; } //质检状态改为暂停质检 LinQBaseDao.Query("update QCInfo set QCInfo_Dictionary_ID=(select Dictionary_ID from Dictionary where Dictionary_Name='暂停质检') where QCInfo_ID=" + QcinfoID); //添加异常信息 //insert into Unusual values(质检编号,异常类型编号,异常类型编号,'内容','未处理',经手人编号,0) Unusual un = new Unusual(); un.Unusual_QCInfo_ID = QcinfoID; un.Unusual_UnusualType_Id = Convert.ToInt32(cboUnusualType_Name.SelectedValue); un.Unusual_TestItems_ID = Convert.ToInt32(cboUnusualType_Name.SelectedValue); un.Unusual_content = cboUnusualType_Name.Text + "异常:" + txtcontent.Text.Trim(); un.Unusual_State = "未处理"; un.Unusual_ISSMSSend = false; un.Unusual_time = LinQBaseDao.getDate(); int u_id = 0; if (UnusualDAL.InsertOneQCRecord(un, out u_id)) { MessageBox.Show("短信发送成功!"); int TestItems_ID = Convert.ToInt32(cboUnusualType_Name.SelectedValue); //发送内容及发送人 DataSet SMSDs = LinQBaseDao.Query("select top(1)* from SMSConfigure where SMSConfigure_TestItems_ID=" + TestItems_ID);//只会存在一条 #region 取内容 string[] SMSContent = SMSDs.Tables[0].Rows[0]["SMSConfigure_SendContent"].ToString().Split(','); string[] SMSContentTxt = SMSDs.Tables[0].Rows[0]["SMSConfigure_SendContentText"].ToString().Split(','); string Contents = SMSSendContent(SMSContent, un.Unusual_Id, SMSContentTxt, un.Unusual_content);//存储短信内容 #endregion #region 取号码、姓名,并对其号码发送短信(号码和姓名同位置是一组数据) string[] SMSPhon = SMSDs.Tables[0].Rows[0]["SMSConfigure_ReceivePhone"].ToString().Split(';'); //号码 string[] SMSName = SMSDs.Tables[0].Rows[0]["SMSConfigure_Receive"].ToString().Split(';'); //姓名 for (int y = 0; y < SMSPhon.Count(); y++) //循环要发送的人数的电话号码 { if (SMSPhon[y] != "") { SmsSend ss = new SmsSend(); ss.SmsSend_Phone = SMSPhon[y]; ss.SmsSend_Text = Contents; ss.SmsSend_userName = SMSName[y]; ss.SmsSend_IsSend = "0"; ss.SmsSend_Unusunal_ID = un.Unusual_Id; bool b = SmsSendDAL.Insert(ss); } } #endregion Emety(); } else { MessageBox.Show("短信发送失败!"); return; } }