public bool AddDiamondShoppingItem(DiamondShoppingItem item) { return(MyDBHelper.Instance.ConnectionCommandExecuteNonQuery(mycmd => { string sqlText = "insert into diamondshoppingitem " + "(`Name`,`Type`,`Stocks`,`Remark`,`SellState`,`ValueDiamonds`,`DetailText`,`DetailImageNames` ) " + " values (@Name,@Type,@Stocks,@Remark,@SellState,@ValueDiamonds,@DetailText,@DetailImageNames )"; mycmd.CommandText = sqlText; mycmd.Parameters.AddWithValue("@Name", item.Name); mycmd.Parameters.AddWithValue("@Type", (int)item.ItemType); mycmd.Parameters.AddWithValue("@Stocks", item.Stocks); mycmd.Parameters.AddWithValue("@Remark", item.Remark); mycmd.Parameters.AddWithValue("@SellState", (int)item.SellState); mycmd.Parameters.AddWithValue("@ValueDiamonds", item.ValueDiamonds); mycmd.Parameters.AddWithValue("@DetailText", item.DetailText); StringBuilder builderDetailImageNames = new StringBuilder(); if (item.DetailImageNames != null) { for (int i = 0; i < item.DetailImageNames.Length; i++) { builderDetailImageNames.Append(item.DetailImageNames[i]); builderDetailImageNames.Append(";"); } } string detailImageNames = ""; if (builderDetailImageNames.Length > 0) { detailImageNames = builderDetailImageNames.ToString(0, builderDetailImageNames.Length - 1); } mycmd.Parameters.AddWithValue("@DetailImageNames", detailImageNames); mycmd.ExecuteNonQuery(); })); }
public int UpdateDiamondShoppingItem(DiamondShoppingItem item, byte[][] detailImagesBuffer) { string dirPath = GetShoppingItemDirPath(item.Name); //删除所有图片,重新保存 if (Directory.Exists(dirPath)) { Directory.Delete(dirPath, true); } Directory.CreateDirectory(dirPath); bool isOK = DBProvider.DiamondShoppingDBProvider.UpdateDiamondShoppingItem(item); if (isOK) { string titleImgFilePath = Path.Combine(dirPath, item.Name.GetHashCode().ToString() + ".jpg"); using (FileStream stream = new FileStream(titleImgFilePath, FileMode.Create)) { stream.Write(item.IconBuffer, 0, item.IconBuffer.Length); } for (int i = 0; i < item.DetailImageNames.Length; i++) { string detailImgFilePath = Path.Combine(dirPath, item.DetailImageNames[i] + ".jpg"); using (FileStream stream = new FileStream(detailImgFilePath, FileMode.Create)) { stream.Write(detailImagesBuffer[i], 0, detailImagesBuffer[i].Length); } } return(OperResult.RESULTCODE_TRUE); } return(OperResult.RESULTCODE_FALSE); }
public byte[][] GetDiamondShoppingItemDetailImageBuffer(int diamondShoppingItemID) { DiamondShoppingItem item = GetDiamondShoppingItem(diamondShoppingItemID); if (item == null || item.DetailImageNames == null) { return(null); } string dirPath = GetShoppingItemDirPath(item.Name); if (!Directory.Exists(dirPath)) { return(null); } string[] files = Directory.GetFiles(dirPath); if (files == null || files.Length == 0) { return(null); } List <byte[]> listImageBuffers = new List <byte[]>(); //返回ImageBuffer的序列和item.DetailImageNames中名称的顺序完全一致!! foreach (var imageFileName in item.DetailImageNames) { foreach (var fileName in files) { FileInfo fileInfo = new FileInfo(fileName); if (fileInfo.Name == imageFileName + ".jpg") { using (FileStream stream = File.OpenRead(fileName)) { byte[] buffer = new byte[stream.Length]; stream.Read(buffer, 0, buffer.Length); listImageBuffers.Add(buffer); } break; } } } return(listImageBuffers.ToArray()); }
public int AddDiamondShoppingItem(DiamondShoppingItem item, byte[][] detailImagesBuffer) { string dirPath = GetShoppingItemDirPath(item.Name); if (Directory.Exists(dirPath)) { return(OperResult.RESULTCODE_SHOPPINGNAME_EXISTED); } //创建商品文件夹 Directory.CreateDirectory(dirPath); bool isOK = DBProvider.DiamondShoppingDBProvider.AddDiamondShoppingItem(item); if (isOK) { //保存首页 string titleImgFilePath = Path.Combine(dirPath, item.Name.GetHashCode().ToString() + ".jpg"); using (FileStream stream = new FileStream(titleImgFilePath, FileMode.Create)) { stream.Write(item.IconBuffer, 0, item.IconBuffer.Length); } //保存详情图 for (int i = 0; i < item.DetailImageNames.Length; i++) { string detailImgFilePath = Path.Combine(dirPath, item.DetailImageNames[i] + ".jpg"); using (FileStream stream = new FileStream(detailImgFilePath, FileMode.Create)) { stream.Write(detailImagesBuffer[i], 0, detailImagesBuffer[i].Length); } } return(OperResult.RESULTCODE_TRUE); } return(OperResult.RESULTCODE_FALSE); }
public int BuyDiamondShoppingItem(int userID, string userName, DiamondShoppingItem shoppingItem, PostAddress address, CustomerMySqlTransaction myTrans) { DateTime time = DateTime.Now; PlayerBuyDiamondShoppingItemRecord record = null; record = new PlayerBuyDiamondShoppingItemRecord() { OrderNumber = OrderController.Instance.CreateOrderNumber(userName, time, AlipayTradeInType.DiamondShopping), UserID = userID, DiamondShoppingItemID = shoppingItem.ID, BuyTime = new MetaData.MyDateTime(time), SendAddress = address.ToString(), ShoppingState = DiamondShoppingState.Payed }; bool isOK = DBProvider.DiamondShoppingDBProvider.AddPlayerBuyDiamondShoppingItemRecord(record, myTrans); if (isOK) { return(OperResult.RESULTCODE_TRUE); } return(OperResult.RESULTCODE_FALSE); }
public DiamondShoppingItemUIModel(DiamondShoppingItem parent) { this.ParentObject = parent; }
public void BuyDiamondShoppingItem(DiamondShoppingItem shoppingItem, PostAddress address) { this._invoker.Invoke <int>(this._context, "BuyDiamondShoppingItem", this.BuyDiamondShoppingItemCompleted, GlobalData.Token, shoppingItem, address); }
public void AsyncBuyDiamondShoppingItem(DiamondShoppingItem shoppingItem, PostAddress address) { App.BusyToken.ShowBusyWindow("正在提交服务器..."); GlobalData.Client.BuyDiamondShoppingItem(shoppingItem, address); }
public void UpdateDiamondShoppingItem(string actionPassword, DiamondShoppingItem item, byte[][] detailImagesBuffer) { this._invoker.Invoke <int>(this._context, "UpdateDiamondShoppingItem", this.UpdateDiamondShoppingItemCompleted, GlobalData.Token, actionPassword, item, detailImagesBuffer); }
public void AsyncUpdateDiamondShoppingItem(string password, DiamondShoppingItem item) { App.BusyToken.ShowBusyWindow("正在保存钻石商品..."); GlobalData.Client.UpdateDiamondShoppingItem(password, item, this.ListDetailImageBuffers.ToArray()); }
private void btnSave_Click(object sender, RoutedEventArgs e) { try { string name = this.txtTitle.Text.Trim(); string remark = this.txtRemark.Text.Trim(); if (name == "") { MyMessageBox.ShowInfo("请填写名称"); return; } if (remark == "") { MyMessageBox.ShowInfo("请填写说明"); return; } if (this.imgIcon.Source == null || _iconBuffer == null) { MyMessageBox.ShowInfo("请上传图标"); return; } if (this.numPrice.Value == 0) { MyMessageBox.ShowInfo("请设置价格"); return; } if (MyMessageBox.ShowQuestionOKCancel("请确认奖项信息填写正确") != System.Windows.Forms.DialogResult.OK) { return; } DiamondShoppingItem item = new DiamondShoppingItem() { ID = this.oldID, Name = this.txtTitle.Text.Trim(), Remark = this.txtRemark.Text.Trim(), IconBuffer = this._iconBuffer, ItemType = (DiamondsShoppingItemType)(int)this.cmbItemType.SelectedValue, SellState = (SellState)(int)this.cmbSellState.SelectedIndex, ValueDiamonds = Math.Round((decimal)this.numPrice.Value, 2), DetailText = this.txtDetailText.Text.Trim(), DetailImageNames = this.ListDetailImageNames.ToArray(), Stocks = (int)this.numStockCount.Value }; if (isAdd) { this.AsyncAddDiamondShoppingItem(GlobalData.CurrentAdmin.ActionPassword, item); } else { item.ID = this.oldID; this.AsyncUpdateDiamondShoppingItem(GlobalData.CurrentAdmin.ActionPassword, item); } } catch (Exception exc) { MyMessageBox.ShowInfo("保存失败。原因为:" + exc.Message); } }
public int BuyDiamondShoppingItem(string token, DiamondShoppingItem shoppingItem, PostAddress address) { if (RSAProvider.LoadRSA(token)) { PlayerRunnable playerrunner = null; string userName = ""; try { if (address == null) { return(OperResult.RESULTCODE_NEEDPOSTADDRESS); } userName = ClientManager.GetClientUserName(token); playerrunner = PlayerController.Instance.GetRunnable(userName); if (playerrunner == null) { return(OperResult.RESULTCODE_USER_NOT_EXIST); } int result = MyDBHelper.Instance.TransactionDataBaseOper(myTrans => { int innerResult = playerrunner.BuyDiamondShoppingItem(shoppingItem, myTrans); if (innerResult != OperResult.RESULTCODE_TRUE) { return(innerResult); } return(DiamondShoppingController.Instance.BuyDiamondShoppingItem(playerrunner.BasePlayer.SimpleInfo.UserID, userName, shoppingItem, address, myTrans)); }, exc => { if (playerrunner != null) { playerrunner.RefreshFortune(); } if (exc != null) { LogHelper.Instance.AddErrorLog("玩家[" + userName + "]购买钻石商品[" + shoppingItem.Name + "]异常", exc); } }); if (result == OperResult.RESULTCODE_TRUE) { LogHelper.Instance.AddInfoLog("玩家[" + userName + "]成功购买了钻石商品[" + shoppingItem.Name + "]"); } return(result); } catch (Exception exc) { LogHelper.Instance.AddErrorLog("玩家[" + userName + "]购买钻石商品[" + shoppingItem.Name + "]异常. ClientIP=" + ClientManager.GetClientIP(token), exc); return(OperResult.RESULTCODE_EXCEPTION); } } else { throw new Exception(); } }