コード例 #1
0
        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();
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
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));
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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));
                }
            }
        }
コード例 #6
0
        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);
                    }
                }
            }
        }