/// <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); }
public void ItemComplete(CardItemInfo orderMessage) { base.transactionType = MessageQueueTransactionType.Single; base.Send(orderMessage); }
/// <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); }
/// <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); }
/// <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); } }
/// <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); }
/// <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; //} }
/// <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); }
/// <summary> /// /// </summary> /// <param name="order"></param> public void InsertItem(CardItemInfo order) { // Insert the order (a)synchrounously based on configuration orderInsertStrategy.InsertItem(order); }