public void SendNotification <T>(string activityId, int refNo, T data, int suppress = 0) { var activity = new ActivityRepo(db, partnerManager).GetActivity(activityId); var messages = new ActivityMessageRepo(db, partnerManager).GetList(activity.Id, -1); var toNumber = string.Empty; foreach (var m in messages) { if (suppress > 0 && suppress == m.Message.ToWho) { continue; } if (m.Message.ToWho == 1) { toNumber = new MessageTemplateRepo(db, partnerManager).TranslateMessage <T>("{mobile.1}", data); } else { toNumber = new MessageTemplateRepo(db, partnerManager).TranslateMessage <T>("{mobile.2}", data); } var readyMsg = new MessageTemplateRepo(db, partnerManager).TranslateMessage <T>(m.Message.Message, data); if (!string.IsNullOrEmpty(toNumber) && !string.IsNullOrEmpty(readyMsg)) { var sms = new SMSOut(); sms.Receiver = toNumber; sms.Message = readyMsg; var result = Create(sms); } } }
public List <MessageTemplate> GetByPartTitle(string title, bool relatedActivities = false) { #region Parameters var parameters = new List <OracleParameter> { new OracleParameter { ParameterName = "MsgTitle", OracleDbType = OracleDbType.NVarchar2, Value = title } }; #endregion var masterDataTable = db.GetData("Select * from message_template t Where (msg_name LIKE '%' || :MsgTitle || '%') or (msg_text LIKE '%' || :MsgTitle || '%') ", parameters); if (masterDataTable == null) { return(null); } if (masterDataTable.Rows.Count == 0) { return(null); } var results = new List <MessageTemplate>(); foreach (DataRow row in masterDataTable.Rows) { var obj = new MessageTemplate(); obj.Id = row["msg_id"] == DBNull.Value ? -1 : int.Parse(row["msg_id"].ToString()); obj.ToWho = row["towho"] == DBNull.Value ? -1 : int.Parse(row["towho"].ToString()); obj.Title = row["msg_name"] == DBNull.Value ? string.Empty : row["msg_name"].ToString(); obj.Message = row["msg_text"] == DBNull.Value ? string.Empty : row["msg_text"].ToString(); obj.CreatedOn = row["createdon"] == DBNull.Value ? DateTime.MinValue : DateTime.Parse(row["createdon"].ToString()); obj.LastUpdatedOn = row["lastupdateon"] == DBNull.Value ? DateTime.MinValue : DateTime.Parse(row["lastupdateon"].ToString()); var createdAccount = row["createdbyacc"] == DBNull.Value ? -1 : int.Parse(row["createdbyacc"].ToString()); var partner = partnerManager.GetPartnerByAccount(createdAccount); obj.CreatedBy.Id = row["createdby"] == DBNull.Value ? string.Empty : row["createdby"].ToString(); obj.CreatedBy.Name = partner.Name; obj.CreatedBy.Account = partner.Account; // get activities if (relatedActivities) { var activities = new ActivityMessageRepo(db, partnerManager).GetList(string.Empty, obj.Id); if (activities != null) { foreach (var item in activities) { obj.Activities.Add(item.Activity); } } } //-------------------------------------------------- results.Add(obj); } return(results); }