/// <summary>发送一对多的待办信息</summary> /// <param name="taskCode">任务编号</param> /// <param name="applicationId">第三方系统帐号标识</param> /// <param name="title">标题</param> /// <param name="content">详细信息地址</param> /// <param name="tags">标签</param> /// <param name="type">类型</param> /// <param name="senderId">发送者</param> /// <param name="receiverIds">接收者</param> public void SendRange(string applicationId, string taskCode, string type, string title, string content, string tags, string senderId, string receiverIds, DateTime triggerTime) { TaskWaitingInfo task = new TaskWaitingInfo(); task.Id = StringHelper.ToGuid(); task.ApplicationId = applicationId; task.TaskCode = taskCode; task.Title = title; task.Content = content; task.Type = type; task.Tags = tags; task.SenderId = senderId; string[] keys = receiverIds.Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries); foreach (string key in keys) { if (!string.IsNullOrEmpty(key)) { task.AddReceiver(key); } } task.CreateDate = DateTime.Now; // 触发发送定时任务信息库到任务信息库的时间. task.TriggerTime = triggerTime; this.Save(task); }
/// <summary>添加记录</summary> /// <param name="param">TaskWaitingInfo 实例的详细信息</param> public void Insert(TaskWaitingInfo param) { Dictionary <string, object> args = new Dictionary <string, object>(); try { this.ibatisMapper.BeginTransaction(); this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Insert", tableName)), param); foreach (TaskWaitingReceiverInfo item in param.ReceiverGroup) { item.TaskWaitingId = param.Id; this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Receiver_Insert", tableName)), item); } this.ibatisMapper.CommitTransaction(); } catch (Exception ex) { this.ibatisMapper.RollBackTransaction(); throw ex; } }
// ------------------------------------------------------- // 保存 删除 // ------------------------------------------------------- #region 函数:Save(XmlDocument doc) /// <summary>保存记录</summary> /// <param name="doc">Xml 文档对象</param> /// <returns>返回操作结果</returns> public string Save(XmlDocument doc) { TaskWaitingInfo param = new TaskWaitingInfo(); param = (TaskWaitingInfo)AjaxUtil.Deserialize(param, doc); this.service.Save(param); return(MessageObject.Stringify("0", I18n.Strings["msg_save_success"])); }
/// <summary>查询某条记录</summary> /// <param name="applicationId">应用系统的标识</param> /// <param name="taskCode">任务编码</param> /// <returns>返回一个 TaskWaitingInfo 实例的详细信息</returns> public TaskWaitingInfo FindOneByTaskCode(string applicationId, string taskCode) { TaskWaitingInfo param = this.provider.FindOneByTaskCode(applicationId, taskCode); if (param != null) { param = this[param.Id]; } return(param); }
// ------------------------------------------------------- // 保存 添加 修改 删除 // ------------------------------------------------------- #region 函数:Save(TaskWaitingInfo param) /// <summary>保存记录</summary> /// <param name="param">TaskWaitingInfo 实例详细信息</param> /// <returns>TaskWaitingInfo 实例详细信息</returns> public TaskWaitingInfo Save(TaskWaitingInfo param) { if (!IsExistTaskCode(param.ApplicationId, param.TaskCode)) { Insert(param); } else { Update(param); } return((TaskWaitingInfo)param); }
// ------------------------------------------------------- // 查询 // ------------------------------------------------------- #region 函数:FindOne(string id) /// <summary>查询某条记录</summary> /// <param name="id">TaskWaitingInfo Id号</param> /// <returns>返回一个 TaskWaitingInfo 实例的详细信息</returns> public TaskWaitingInfo FindOne(string id) { Dictionary <string, object> args = new Dictionary <string, object>(); args.Add("Id", id); TaskWaitingInfo param = this.ibatisMapper.QueryForObject <TaskWaitingInfo>(StringHelper.ToProcedurePrefix(string.Format("{0}_FindOne", tableName)), args); if (param != null) { // 绑定接收者信息 BindReceiverGroup(param); } return(param); }
public void TestSend() { string applicationId = "00000000-0000-0000-0000-000000000001"; string taskCode = StringHelper.ToGuid(); TasksContext.Instance.TaskWaitingService.Send(applicationId, taskCode, "4", string.Format("测试任务-编号{0}", taskCode), DateTime.Now.ToString(), "测试", "00000000-0000-0000-0000-000000000001", "00000000-0000-0000-0000-000000100000", DateTime.Now.AddDays(3)); TaskWaitingInfo task = TasksContext.Instance.TaskWaitingService.FindOneByTaskCode(applicationId, taskCode); Assert.IsNotNull(task); if (TasksContext.Instance.TaskWaitingService.IsExistTaskCode(applicationId, taskCode)) { TasksContext.Instance.TaskWaitingService.DeleteByTaskCode(applicationId, taskCode); } }
/// <summary>修改记录</summary> /// <param name="param">TaskWaitingInfo 实例的详细信息</param> public void Update(TaskWaitingInfo param) { // // [主键] ApplicationId 和 TaskCode // Dictionary <string, object> args = new Dictionary <string, object>(); TaskWaitingInfo temp = FindOneByTaskCode(param.ApplicationId, param.TaskCode); args.Add("Id", temp.Id); args.Add("ApplicationId", param.ApplicationId); args.Add("TaskCode", param.TaskCode); try { this.ibatisMapper.BeginTransaction(); this.ibatisMapper.Update(StringHelper.ToProcedurePrefix(string.Format("{0}_Update", tableName)), param); // 接收者 // 删除旧的分配人员数据 this.ibatisMapper.Delete(StringHelper.ToProcedurePrefix(string.Format("{0}_Receiver_DeleteByTaskCode", tableName)), args); // 添加新的分配人员数据 foreach (TaskWaitingReceiverInfo item in param.ReceiverGroup) { item.TaskWaitingId = temp.Id; this.ibatisMapper.Insert(StringHelper.ToProcedurePrefix(string.Format("{0}_Receiver_Insert", tableName)), item); } this.ibatisMapper.CommitTransaction(); } catch (Exception ex) { this.ibatisMapper.RollBackTransaction(); throw ex; } }
// ------------------------------------------------------- // 添加 删除 修改 // ------------------------------------------------------- #region 函数:Save(TaskWaitingInfo param) /// <summary>保存记录</summary> /// <param name="param"> 实例<see cref="TaskWaitingInfo"/>详细信息</param> /// <returns>TaskWaitingInfo 实例详细信息</returns> public TaskWaitingInfo Save(TaskWaitingInfo param) { if (string.IsNullOrEmpty(param.ApplicationId)) { throw new ArgumentException("ApplicationId is null."); } if (string.IsNullOrEmpty(param.TaskCode)) { throw new ArgumentException("TaskCode is null."); } if (string.IsNullOrEmpty(param.Id)) { param.Id = StringHelper.ToGuid(); } param = StringHelper.ToSafeXSS <TaskWaitingInfo>(param); return(this.provider.Save(param)); }
private void BindReceiverGroup(TaskWaitingInfo task) { Dictionary <string, object> args = new Dictionary <string, object>(); string whereClause = string.Format(" TaskWaitingId = ##{0}## ", task.Id); args.Add("WhereClause", StringHelper.ToSafeSQL(whereClause)); args.Add("Length", 0); IList <TaskWaitingReceiverInfo> list = this.ibatisMapper.QueryForList <TaskWaitingReceiverInfo>(StringHelper.ToProcedurePrefix(string.Format("{0}_Receiver_FindAll", tableName)), args); foreach (TaskWaitingReceiverInfo item in list) { TaskWaitingReceiverInfo receiver = new TaskWaitingReceiverInfo(); receiver.TaskWaitingId = item.TaskWaitingId; receiver.ReceiverId = item.ReceiverId; receiver.IsSend = item.IsSend; receiver.SendTime = item.SendTime; task.ReceiverGroup.Add(receiver); } }
/// <summary>发送一对一的待办信息</summary> /// <param name="taskCode">任务编号</param> /// <param name="applicationId">第三方系统帐号标识</param> /// <param name="title">标题</param> /// <param name="content">详细内容</param> /// <param name="tags">标签</param> /// <param name="type">类型</param> /// <param name="senderId">发送者</param> /// <param name="receiverId">接收者</param> /// <param name="triggerTime">触发时间</param> public void Send(string applicationId, string taskCode, string type, string title, string content, string tags, string senderId, string receiverId, DateTime triggerTime) { TaskWaitingInfo task = new TaskWaitingInfo(); task.Id = StringHelper.ToGuid(); task.ApplicationId = applicationId; task.TaskCode = taskCode; task.Title = title; task.Content = content; task.Type = type; task.Tags = tags; task.SenderId = senderId; task.AddReceiver(receiverId); task.CreateDate = DateTime.Now; // 触发发送定时任务信息库到任务信息库的时间. task.TriggerTime = triggerTime; this.Save(task); }
public void TestSave() { string applicationId = "00000000-0000-0000-0000-000000000001"; string taskCode = StringHelper.ToGuid(); string id = StringHelper.ToGuid(); if (TasksContext.Instance.TaskWaitingService.IsExist(id)) { throw new Exception("任务已存在, 测试失败."); } // // 新增定时任务 // TaskWaitingInfo param = new TaskWaitingInfo(); param.Id = id; param.ApplicationId = applicationId; param.TaskCode = taskCode; param.Title = string.Format("测试任务-编号{0}", taskCode); param.Content = DateTime.Now.ToString(); param.Type = "1"; param.Tags = "测试"; param.SenderId = "00000000-0000-0000-0000-000000000001"; param.AddReceiver("00000000-0000-0000-0000-000000100000"); param.CreateDate = DateTime.Now; param.TriggerTime = DateTime.Now.AddDays(3); param = TasksContext.Instance.TaskWaitingService.Save(param); // // 修改任务 // Assert.AreNotEqual(param.Content, "任务内容被修改."); param.Content = "任务内容被修改."; param = TasksContext.Instance.TaskWaitingService.Save(param); param = TasksContext.Instance.TaskWaitingService.FindOne(id); Assert.AreEqual(param.Content, "任务内容被修改."); // // 清理 // if (TasksContext.Instance.TaskWaitingService.IsExist(id)) { TasksContext.Instance.TaskWaitingService.Delete(id); } param = TasksContext.Instance.TaskWaitingService.FindOne(id); Assert.IsNull(param); }