예제 #1
0
        /// <summary>
        /// 关闭订单
        /// </summary>
        /// <param name="or_id">订单id</param>
        /// <param name="us_id">用户id</param>
        /// <returns></returns>
        public static bool OrderClose(string or_id, string us_id)
        {
            JObject or_json = OrderDAL.GetInfo(or_id);
            string  cmd;
            int     flag = -1;

            if (or_json["us_id"].ToString() == us_id)
            {
                cmd  = @"update [OrderDetails] set or_state=30 where or_id=@or_id";
                flag = 0;
            }
            else
            {
                cmd  = @"update [OrderDetails] set or_state=30 where or_id=@or_id and us_id=@us_id";
                flag = 1;
            }
            bool result = DBHelper.Exec(cmd, "@or_id", or_id) > 0;

            if (flag == 0)
            {
                string cmd2 = @"update [Order] set or_state=30 where or_id=@or_id and us_id=@us_id";
                return(DBHelper.Exec(cmd2, "@or_id", or_id, "@us_id", us_id) > 0);
            }
            return(false);
        }
예제 #2
0
        /// <summary>
        /// 作为司机邀请乘客
        /// </summary>
        /// <param name="or_id">乘客订单id</param>
        /// <param name="us_id">司机用户id</param>
        /// <returns></returns>
        public static bool InviteOrder(string or_id, string us_id)
        {
            CheckAvailability();
            JObject or_json  = OrderDAL.GetInfo(or_id);
            JObject ods_json = OrderDAL.GetOrderDetailsInfo(or_id, or_json["us_id"].ToString());

            if (or_json == null)
            {
                return(false);
            }

            string cmd    = @"insert [OrderDetails](or_id, us_id, price, or_state, [identity]) 
                            values(@or_id, @us_id, @price, @or_state, @identity)";
            bool   result = DBHelper.Exec(cmd, "@or_id", or_id, "@us_id", us_id, "@or_state", 15, "@price", ods_json["price"].ToString(), "@identity", "1") > 0;

            return(result);
        }
예제 #3
0
        /// <summary>
        /// 获取已完成订单
        /// </summary>
        /// <param name="us_id">用户id</param>
        /// <returns></returns>
        public static JObject GetCompleted(string us_id, int curpage, int pagecount)
        {
            CheckAvailability();
            string cmd       = @"select od.* from [Order] od, [OrderDetails] ods where od.or_id=ods.or_id and (ods.us_id=@us_id) and (ods.or_state=20) order by ods.or_state, ods.time desc";
            string offset    = @" offset @passcount ROWS fetch next @pagecount ROWS only";
            int    passcount = (curpage - 1) * pagecount;

            cmd += offset;

            JArray or_jarr = DBHelper.GetData(cmd, "@us_id", us_id, "@passcount", passcount, "@pagecount", pagecount);

            string cmd_ods     = @"select * from [OrderDetails] ods where or_id=@or_id and (or_state=0 or or_state=1 or or_state=20) order by [identity] desc";
            JArray search_jarr = new JArray();

            foreach (JObject item in or_jarr)
            {
                JObject json = new JObject();
                json.Add("order", item);
                //json.Add("user", UserDAL.GetInfo(item["us_id"].ToString()));
                JObject ods_json = OrderDAL.GetOrderDetailsInfo(item["or_id"].ToString(), item["us_id"].ToString());
                json.Add("orderdetail", ods_json);
                JObject owner = OrderDAL.GetOrderDetailsInfo(item["or_id"].ToString(), us_id);
                json.Add("owner", owner);
                JObject carus_tmp = OrderDAL.GetOrderCar(item["or_id"].ToString());
                JObject carus     = new JObject();
                if (carus_tmp != null)
                {
                    carus.Add("id", carus_tmp["id"]);
                    carus.Add("tel", carus_tmp["tel"]);
                    carus.Add("name", carus_tmp["name"]);
                    //JObject carowner_json =
                }
                json.Add("carus", carus_tmp == null ? null : carus);
                JArray ord_jarr  = DBHelper.GetData(cmd_ods, "@or_id", item["or_id"].ToString());
                JArray info_jarr = new JArray();
                //if (ods_json["identity"].ToString() == "1" && ods_json["us_id"].ToString() == us_id)
                {
                    foreach (JObject tmp in ord_jarr)
                    {
                        if (tmp["us_id"].ToString() == us_id)
                        {
                            continue;
                        }
                        if (owner["identity"].ToString() == "0" && tmp["identity"].ToString() == "0")
                        {
                            continue;
                        }

                        JObject us_json = UserDAL.GetInfo(tmp["us_id"].ToString());
                        us_json.Remove("password");
                        us_json.Remove("idcard");
                        us_json.Remove("type");
                        us_json.Remove("time");

                        JObject info_json = new JObject();
                        info_json.Add("user", us_json);
                        info_json.Add("orderdetail", tmp);

                        info_jarr.Add(info_json);
                    }
                }
                json.Add("info", info_jarr);


                search_jarr.Add(json);
            }
            int     count    = GetCompletedCount(us_id);
            int     pages    = count / pagecount + (count % pagecount > 0 ? 1 : 0);
            JObject ret_json = new JObject();

            ret_json.Add("data", search_jarr);
            ret_json.Add("pages", pages);

            return(ret_json);
        }