public ActionResult Upadate(long AssignID) { PadSYNC.Model.AssignCourse ac = PadSYNC.BLL.AssignCourseBLL.GetById(AssignID); try { ac.Gid = Guid.NewGuid(); //新增必须为0,不为0会更改原纪录 ac.AssignID = 0; //排课状态为排定 ac.AsignStatus = 1; //5表示来源是Pad ac.CourseSourceType = 5; //异常类型 ac.AbnormalReasonType = 0; string json = JsonConvert.SerializeObject(ac); SYNCOperation op = new SYNCOperation(); op.Id = ac.AssignID; op.Gid = ac.Gid; op.Name = "AssignCourse"; op.Status = 0; SYNCOperationBLL.Insert(op); Send.Push(json); string result = "Success"; return(Content(result, "application/json")); } catch (Exception ex) { return(Content(ex.Message, "application/json")); } //return View(); }
public static bool Update(SYNCOperation model) { string sqlStr = ""; List <string> fileds = new List <string>(); List <string> pFileds = new List <string>(); List <SqlParameter> pms = new List <SqlParameter>(); #region 添加字段 pFileds.Add("[Gid]=@Gid"); pms.Add(new SqlParameter("Gid", model.Gid)); if (model.Status != null) { fileds.Add("[Status]=@Status"); pms.Add(new SqlParameter("Status", model.Status)); } if (model.Content != null) { fileds.Add("[Content]=@Content"); pms.Add(new SqlParameter("Content", model.Content)); } if (model.Name != null) { fileds.Add("[Name]=@Name"); pms.Add(new SqlParameter("Name", model.Name)); } if (model.InsertDate != null && model.InsertDate != new DateTime()) { fileds.Add("[InsertDate]=@InsertDate"); pms.Add(new SqlParameter("InsertDate", model.InsertDate)); } if (model.Id != null) { fileds.Add("[Id]=@Id"); pms.Add(new SqlParameter("Id", model.Id)); } #endregion StringBuilder sb = new StringBuilder(); sb.Append("update SYNCOperation set "); sb.Append(string.Join(",", fileds.ToArray())); sb.Append(" where "); sb.Append(string.Join(" and ", pFileds.ToArray())); sqlStr = sb.ToString(); using (DbCommand cmd = db.GetSqlStringCommand(sqlStr)) { cmd.Parameters.AddRange(pms.ToArray()); int i = db.ExecuteNonQuery(cmd); return(i > 0); } }
public ActionResult UpdateCourseInOne(string data) { string result = "Failed"; try { List <PadSYNC.Model.AssignCourse> list = JsonConvert.DeserializeObject <List <PadSYNC.Model.AssignCourse> >(data); //测试消息队列用 // List<PadSYNC.Model.AssignCourse> list = AssignCourseBLL.Search(@"select top 5 starttime,endtime,* from [CloudCourse].[dbo].[AssignCourse] // where SchoolID=18 and studentuserid=1303839 // order by assignid desc"); if (list != null) { foreach (PadSYNC.Model.AssignCourse ac in list) { //ac.Gid = Guid.NewGuid(); //新增必须为0,不为0会更改原纪录 //ac.AssignID = 0; //排课状态为排定 //ac.AsignStatus = 1; //5表示来源是Pad //ac.CourseSourceType = 5; //异常类型 //ac.AbnormalReasonType = 0; string json = JsonConvert.SerializeObject(ac); SYNCOperation op = new SYNCOperation(); op.Id = ac.AssignID; op.Gid = ac.Gid; op.Name = "AssignCourse"; op.Status = 0; SYNCOperationBLL.Insert(op); Send.Push(json); result = "Success"; } } } catch (Exception ex) { result = ex.Message; } return(Content(result)); }
public static List <SYNCOperation> Search(string sqlStr, params DbParameter[] parameters) { List <SYNCOperation> list = new List <SYNCOperation>(); using (DbCommand cmd = db.GetSqlStringCommand(sqlStr)) { cmd.Parameters.AddRange(parameters); DataSet ds = db.ExecuteDataSet(cmd); if (ds != null && ds.Tables.Count > 0) { DataTable table = ds.Tables[0]; foreach (DataRow dr in table.Rows) { SYNCOperation model = new SYNCOperation(dr); list.Add(model); } } } return(list); }
public static bool Save(SYNCOperation model) { string sqlStr = "select count(1) from SYNCOperation where 1=1 "; List <SqlParameter> pms = new List <SqlParameter>(); sqlStr += " and Gid=@Gid "; pms.Add(new SqlParameter("Gid", model.Gid)); using (DbCommand cmd = db.GetSqlStringCommand(sqlStr)) { cmd.Parameters.AddRange(pms.ToArray()); int i = (int)db.ExecuteScalar(cmd); if (i > 0) { return(Update(model)); } else { return(Insert(model)); } } }
static void Main(string[] args) { //test //Test(); //return; //GetAC(); //return; //test over string hostName = ConfigurationManager.AppSettings["RabbitMQHostName"]; string userName = ConfigurationManager.AppSettings["RabbitMQUserName"]; string password = ConfigurationManager.AppSettings["RabbitMQPassword"]; var factory = new ConnectionFactory() { HostName = hostName, UserName = userName, Password = password }; factory.AutomaticRecoveryEnabled = true; using (var connection = factory.CreateConnection()) { using (var channel = connection.CreateModel()) { channel.QueueDeclare("AssignCourseSYNC", true, false, false, null); var consumer = new QueueingBasicConsumer(channel); channel.BasicConsume("AssignCourseSYNC", false, consumer); Console.WriteLine(" [*] Waiting for messages." + "To exit press CTRL+C"); while (true) { var ea = (BasicDeliverEventArgs)consumer.Queue.Dequeue(); Console.WriteLine("获得消息*---*" + ea.DeliveryTag); var body = ea.Body; var message = Encoding.UTF8.GetString(body); PadSYNC.Model.AssignCourse ac = null; SYNCOperation op = null; //清除消息队列用 //channel.BasicAck(ea.DeliveryTag, false); //continue; try { #region 处理消息 ac = JsonConvert.DeserializeObject <PadSYNC.Model.AssignCourse>(message); //ac.Gid = new Guid("D67C7F51-29A1-4CA8-ACDF-08512FB3E8DF"); op = SYNCOperationBLL.GetById(ac.Gid); //op.Id = ac.AssignID; AssignCourseDataContract acdc = Translate.TranslateAssignCourseEntityToGuest(ac); bool b = false; string result = ""; AssignCourseServiceClient client = new AssignCourseServiceClient(); Console.WriteLine("处理消息*---*" + ea.DeliveryTag); if (ac.PadOperType == 0) { b = client.AddNewAssignCourseRetErrowString(out result, acdc); } else { List <CancelReasonConditionsDataContract> CancelReasonConditionsList = new List <CancelReasonConditionsDataContract>(); CancelReasonConditionsDataContract cancelReasonConditions = new CancelReasonConditionsDataContract(); cancelReasonConditions.AssignID = ac.AssignID; cancelReasonConditions.Reason = ""; CancelReasonConditionsList.Add(cancelReasonConditions); CancelReasonConditionsDataContract[] arr = CancelReasonConditionsList.ToArray(); b = client.CancleAssignCourse(arr, 0, 0, 1); result = "取消失败"; } if (b) { result = "Success"; op.Status = 1; } else { op.Status = 2; op.Content = result; } Console.WriteLine("处理成功 {0}", op.Gid + "*---*" + result); channel.BasicAck(ea.DeliveryTag, false); #endregion } catch (Exception ex) { if (op != null) { op.Status = 2; op.Content = ex.Message; } Console.WriteLine("处理失败 {0}", "*---*" + ex.Message); } if (op != null) { SYNCOperationBLL.Save(op); } //Thread.Sleep(3000); } } } }