Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="order"></param>
        /// <param name="allCompleted"></param>
        /// <param name="opstate"></param>
        /// <param name="ovalue"></param>
        /// <param name="ototalvalue"></param>
        public bool ItemComplete(CardItemInfo order, out bool allCompleted, out string opstate, out string ovalue, out decimal ototalvalue)
        {
            allCompleted = false;
            opstate      = string.Empty;
            ovalue       = string.Empty;
            ototalvalue  = 0M;

            asynchOrder.ItemComplete(order);

            return(true);
        }
Beispiel #2
0
 public void ItemComplete(CardItemInfo orderMessage)
 {
     base.transactionType = MessageQueueTransactionType.Single;
     base.Send(orderMessage);
 }
Beispiel #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="orderMessage">All information for an order</param>
 public void SendItem(CardItemInfo orderMessage)
 {
     // This method does not involve in distributed transaction and optimizes performance using Single type
     base.transactionType = MessageQueueTransactionType.Single;
     base.Send(orderMessage);
 }
Beispiel #4
0
 /// <summary>
 /// This method serializes the order object and send it to the queue for asynchronous processing
 /// </summary>
 /// <param name="order">All information about the order</param>
 public void InsertItem(CardItemInfo order)
 {
     asynchOrder.SendItem(order);
 }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="orderId"></param>
        /// <param name="serial"></param>
        /// <returns></returns>
        public CardItemInfo GetItemModel(string orderId, int serial)
        {
            SqlParameter[] parameters =
            {
                new SqlParameter("@orderId", SqlDbType.NVarChar, 30),
                new SqlParameter("@serial",  SqlDbType.Int, 4)
            };
            parameters[0].Value = orderId;
            parameters[1].Value = serial;

            CardItemInfo model = new CardItemInfo();
            DataSet      ds    = DataBase.ExecuteDataset(CommandType.StoredProcedure, "proc_ordercarditem_GetModel", parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                if (ds.Tables[0].Rows[0]["id"].ToString() != "")
                {
                    model.id = long.Parse(ds.Tables[0].Rows[0]["id"].ToString());
                }
                if (ds.Tables[0].Rows[0]["userid"].ToString() != "")
                {
                    model.userid = int.Parse(ds.Tables[0].Rows[0]["userid"].ToString());
                }

                if (ds.Tables[0].Rows[0]["serial"].ToString() != "")
                {
                    model.serial = int.Parse(ds.Tables[0].Rows[0]["serial"].ToString());
                }
                model.porderid = ds.Tables[0].Rows[0]["porderid"].ToString();
                if (ds.Tables[0].Rows[0]["suppid"].ToString() != "")
                {
                    model.suppid = int.Parse(ds.Tables[0].Rows[0]["suppid"].ToString());
                }
                if (ds.Tables[0].Rows[0]["cardtype"].ToString() != "")
                {
                    model.cardtype = int.Parse(ds.Tables[0].Rows[0]["cardtype"].ToString());
                }
                model.cardno  = ds.Tables[0].Rows[0]["cardno"].ToString();
                model.cardpwd = ds.Tables[0].Rows[0]["cardpwd"].ToString();
                if (ds.Tables[0].Rows[0]["refervalue"].ToString() != "")
                {
                    model.refervalue = decimal.Parse(ds.Tables[0].Rows[0]["refervalue"].ToString());
                }
                if (ds.Tables[0].Rows[0]["payrate"].ToString() != "")
                {
                    model.payrate = decimal.Parse(ds.Tables[0].Rows[0]["payrate"].ToString());
                }
                if (ds.Tables[0].Rows[0]["addtime"].ToString() != "")
                {
                    model.addtime = DateTime.Parse(ds.Tables[0].Rows[0]["addtime"].ToString());
                }
                model.supplierOrder = ds.Tables[0].Rows[0]["supplierOrder"].ToString();
                if (ds.Tables[0].Rows[0]["realvalue"].ToString() != "")
                {
                    model.realvalue = decimal.Parse(ds.Tables[0].Rows[0]["realvalue"].ToString());
                }
                if (ds.Tables[0].Rows[0]["status"].ToString() != "")
                {
                    model.status = int.Parse(ds.Tables[0].Rows[0]["status"].ToString());
                }
                model.opstate = ds.Tables[0].Rows[0]["opstate"].ToString();
                model.msg     = ds.Tables[0].Rows[0]["msg"].ToString();
                if (ds.Tables[0].Rows[0]["completetime"].ToString() != "")
                {
                    model.completetime = DateTime.Parse(ds.Tables[0].Rows[0]["completetime"].ToString());
                }
                if (ds.Tables[0].Rows[0]["supplierrate"].ToString() != "")
                {
                    model.supplierrate = decimal.Parse(ds.Tables[0].Rows[0]["supplierrate"].ToString());
                }
                if (ds.Tables[0].Rows[0]["promrate"].ToString() != "")
                {
                    model.promrate = decimal.Parse(ds.Tables[0].Rows[0]["promrate"].ToString());
                }
                if (ds.Tables[0].Rows[0]["commission"].ToString() != "")
                {
                    model.commission = decimal.Parse(ds.Tables[0].Rows[0]["commission"].ToString());
                }
                if (ds.Tables[0].Rows[0]["agent"].ToString() != "")
                {
                    model.agentId = int.Parse(ds.Tables[0].Rows[0]["agent"].ToString());
                }

                return(model);
            }
            else
            {
                return(null);
            }
        }
Beispiel #6
0
        /// <summary>
        /// 加入缓存
        /// </summary>
        /// <param name="model"></param>
        /// <param name="allCompleted"></param>
        /// <param name="totalValue"></param>
        /// <param name="resultcode"></param>
        /// <returns></returns>
        public bool ItemComplete(CardItemInfo model, out bool allCompleted, out string opstate, out string ovalue, out decimal ototalvalue)
        {
            allCompleted = false;
            opstate      = string.Empty;
            ovalue       = string.Empty;
            ototalvalue  = 0M;

            object flag = HttpRuntime.Cache["Item_Complete" + model.porderid + model.serial.ToString()];

            if (flag != null)
            {
                return(true);
            }

            #region 数据库操作
            SqlParameter[] parameters =
            {
                new SqlParameter("@orderid",       SqlDbType.VarChar,   30),
                new SqlParameter("@serial",        SqlDbType.Int),
                new SqlParameter("@status",        SqlDbType.TinyInt),
                new SqlParameter("@supplierOrder", SqlDbType.VarChar,   50),
                new SqlParameter("@realvalue",     SqlDbType.Decimal,    9),
                new SqlParameter("@payrate",       SqlDbType.Decimal,    9),
                //new SqlParameter("@supplierRate", SqlDbType.Decimal,9),
                //new SqlParameter("@payAmt", SqlDbType.Decimal,9),
                //new SqlParameter("@supplierAmt", SqlDbType.Decimal,9),
                //new SqlParameter("@profits", SqlDbType.Decimal,9),
                //new SqlParameter("@addtime", SqlDbType.DateTime),
                new SqlParameter("@completetime",  SqlDbType.DateTime),
                new SqlParameter("@opstate",       SqlDbType.NVarChar,  10),
                new SqlParameter("@msg",           SqlDbType.NVarChar,  50),
                //new SqlParameter("@manageId", SqlDbType.Int),
                new SqlParameter("@completed",     SqlDbType.TinyInt),
                new SqlParameter("@promRate",      SqlDbType.Decimal, 9)
            };
            parameters[0].Value     = model.porderid;
            parameters[1].Value     = model.serial;
            parameters[2].Value     = model.status;
            parameters[3].Value     = model.supplierOrder;
            parameters[4].Value     = model.realvalue;
            parameters[5].Value     = model.payrate;
            parameters[6].Value     = model.completetime;
            parameters[7].Value     = model.opstate;
            parameters[8].Value     = model.msg;
            parameters[9].Direction = ParameterDirection.Output;
            parameters[10].Value    = model.promrate;

            DataSet ds = DataBase.ExecuteDataset(System.Data.CommandType.StoredProcedure, "proc_ordercarditem_settled", parameters);
            HttpRuntime.Cache.Insert("Item_Complete" + model.porderid + model.serial.ToString(), model.status, null, DateTime.Now.AddSeconds(5.0), TimeSpan.Zero);
            #endregion

            if (parameters[9].Value != DBNull.Value)
            {
                #region 是否订单的所有子订单全部完成
                int result = Convert.ToInt32(parameters[9].Value);
                if (result == 1)
                {
                    allCompleted = true;
                }
                #endregion

                if (allCompleted)
                {
                    DataTable table1 = ds.Tables[0];
                    if (table1 != null && table1.Rows.Count > 0)
                    {
                        DataRow dr = table1.Rows[0];
                        if (dr["totalValue"] != DBNull.Value)
                        {
                            ototalvalue = Convert.ToDecimal(dr["totalValue"]);
                        }
                        if (dr["resultcode"] != DBNull.Value)
                        {
                            opstate = Convert.ToString(dr["resultcode"]);
                        }
                        if (dr["ovalue"] != DBNull.Value)
                        {
                            ovalue = Convert.ToString(dr["ovalue"]);
                        }
                    }
                }
            }

            return(true);
        }
Beispiel #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public long InsertItem(CardItemInfo model)
        {
            //try
            //{
            // int rowsAffected;
            SqlParameter[] parameters =
            {
                new SqlParameter("@id",            SqlDbType.BigInt,     8),
                new SqlParameter("@userid",        SqlDbType.Int,        4),
                new SqlParameter("@serial",        SqlDbType.Int,        4),
                new SqlParameter("@porderid",      SqlDbType.NVarChar,  30),
                new SqlParameter("@suppid",        SqlDbType.Int,        4),
                new SqlParameter("@cardtype",      SqlDbType.Int,        4),
                new SqlParameter("@cardno",        SqlDbType.NVarChar,  30),
                new SqlParameter("@cardpwd",       SqlDbType.NVarChar,  50),
                new SqlParameter("@refervalue",    SqlDbType.Decimal,    9),
                new SqlParameter("@payrate",       SqlDbType.Decimal,    9),
                new SqlParameter("@addtime",       SqlDbType.DateTime),
                new SqlParameter("@supplierOrder", SqlDbType.VarChar,   50),
                new SqlParameter("@realvalue",     SqlDbType.Decimal,    9),
                new SqlParameter("@status",        SqlDbType.TinyInt,    1),
                new SqlParameter("@opstate",       SqlDbType.NVarChar,  20),
                new SqlParameter("@msg",           SqlDbType.NVarChar,  50),
                new SqlParameter("@completetime",  SqlDbType.DateTime),
                new SqlParameter("@supplierrate",  SqlDbType.Decimal,    9),
                new SqlParameter("@promrate",      SqlDbType.Decimal,    9),
                new SqlParameter("@commission",    SqlDbType.Decimal,    9),
                new SqlParameter("@agentid",       SqlDbType.Int, 4)
            };
            parameters[0].Direction = ParameterDirection.Output;
            parameters[1].Value     = model.userid;
            parameters[2].Value     = model.serial;
            parameters[3].Value     = model.porderid;
            parameters[4].Value     = model.suppid;
            parameters[5].Value     = model.cardtype;
            parameters[6].Value     = model.cardno;
            parameters[7].Value     = model.cardpwd;
            parameters[8].Value     = model.refervalue;
            parameters[9].Value     = model.payrate;
            parameters[10].Value    = model.addtime;
            parameters[11].Value    = model.supplierOrder;
            parameters[12].Value    = model.realvalue;
            parameters[13].Value    = model.status;
            parameters[14].Value    = model.opstate;
            parameters[15].Value    = model.msg;
            parameters[16].Value    = model.completetime;
            parameters[17].Value    = model.supplierrate;
            parameters[18].Value    = model.promrate;
            parameters[19].Value    = model.commission;
            parameters[20].Value    = model.agentId;


            DataBase.ExecuteNonQuery(System.Data.CommandType.StoredProcedure, "proc_ordercarditem_add", parameters);
            return((long)parameters[0].Value);
            //}
            //catch (Exception ex)
            //{
            //    viviLib.ExceptionHandling.ExceptionHandler.HandleException(ex);
            //    return 0;
            //}
        }
Beispiel #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="order"></param>
 public void ItemComplete(CardItemInfo order, out bool allCompleted, out string opstate, out string ovalue, out decimal ototalvalue)
 {
     // Insert the order (a)synchrounously based on configuration
     orderInsertStrategy.ItemComplete(order, out allCompleted, out opstate, out ovalue, out ototalvalue);
 }
Beispiel #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="order"></param>
 public void InsertItem(CardItemInfo order)
 {
     // Insert the order (a)synchrounously based on configuration
     orderInsertStrategy.InsertItem(order);
 }