/// <summary> /// 返回金额正反 /// </summary> /// <param name="model"></param> /// <param name="price"></param> /// <returns></returns> private double GetOperateSymbal(CommonPayModel model, double price) { if (null != model && (model.Type == "ImportPay")) { return(-price); } else { return(price); } }
/// <summary> /// 返回金额正反 /// </summary> /// <param name="model"></param> /// <param name="price"></param> /// <returns></returns> private double GetOperateSymbal(CommonPayModel model, double price) { if (null != model && (model.Type == "OrderPay" || model.Type == "TakeoutPay")) { return(-price); } else { return(price); } }
private void FindItemAndAddToPayModel(BalanceItemModel item, double changePriceDouble) { CommonPayModel model = new CommonPayModel(); if (item.IsBalance) { model.BalanceId = item.Balance.BalanceId; model.OriginalPrice = changePriceDouble; model.Rate = item.Balance.RemoveRate; if (model.Rate != 0) { model.Price = Math.Round(model.OriginalPrice * model.Rate, 2); model.RemovePrice = model.OriginalPrice - model.Price; } else { model.Price = model.OriginalPrice; } } else if (!item.IsBalance) { if (this.IsMember) { model.MemberId = item.Member.MemberId; model.Rate = item.Member.OfferRate; model.Member = item.Member; } else { model.SupplierId = item.Supplier.SupplierId; model.Rate = item.Supplier.OfferRate; model.Supplier = item.Supplier; } model.IsChange = item.IsChange; model.OriginalPrice = changePriceDouble; if (model.Rate != 0) { model.Price = Math.Round(model.OriginalPrice / 100.0 * model.Rate, 2); model.RemovePrice = model.OriginalPrice - model.Price; } else { model.Price = model.OriginalPrice; } } PayModel.Add(model); }
/// <summary> /// 返回操作名称 /// </summary> /// <param name="operate"></param> /// <returns></returns> private string GetOperateName(CommonPayModel model) { string OperateName = ""; if (model.Type == "OrderPay") { OperateName += Resources.GetRes().GetString("Income"); } else if (model.Type == "TakeoutPay") { OperateName += Resources.GetRes().GetString("Income"); } else if (model.Type == "ImportPay") { OperateName += Resources.GetRes().GetString("Expenditure"); } else if (model.Type == "AdminPay") { OperateName += Resources.GetRes().GetString("AdminPay"); } else if (model.Type == "MemberPay") { OperateName += Resources.GetRes().GetString("MemberPay"); } else if (model.Type == "SupplierPay") { OperateName += ""; //Resources.GetRes().GetString("SupplierPay"); } else if (model.Type == "BalancePay") { OperateName += Resources.GetRes().GetString("BalancePay"); } else { OperateName += Resources.GetRes().GetString("Unknown"); } OperateName += " "; OperateName = OperateName + (model.Type == "SupplierPay" ? "" : model.ParentId + " - "); OperateName += " "; OperateName += Resources.GetRes().PrintInfo.PriceSymbol + (model.ParentBalancePrice ?? model.BalancePrice); return(OperateName); }
/// <summary> /// 获取余额类型 /// </summary> /// <param name="hideTypeNo"></param> /// <returns></returns> private string GetBalanceType(CommonPayModel model) { if (null == model || null == model.BalanceId || 0 == model.BalanceId) { return(""); } long balanceId = 0; string balanceName = ""; if (model.TransferId != 0) { balanceId = model.TransferId; balanceName = "* "; } else { balanceId = model.BalanceId.Value; } Balance balance = null; balance = Resources.GetRes().Balances.Where(x => x.BalanceId == balanceId).FirstOrDefault(); if (null == balance) { throw new Exception(Resources.GetRes().GetString("Exception_InvalidType")); } if (Resources.GetRes().MainLangIndex == 0) { balanceName += balance.BalanceName0; } else if (Resources.GetRes().MainLangIndex == 1) { balanceName += balance.BalanceName1; } else if (Resources.GetRes().MainLangIndex == 2) { balanceName += balance.BalanceName2; } return(balanceName); }
/// <summary> /// 添加会员 /// </summary> /// <param name="member"></param> private void AddMember(Member member, Supplier supplier) { CommonPayModel model = new CommonPayModel(); if (null != member) { model.MemberId = member.MemberId; model.Member = member; model.IsChange = true; } if (null != supplier) { model.SupplierId = supplier.SupplierId; model.Supplier = supplier; model.IsChange = true; } AddMemberOrSupplier(model); krpcbBalancePay.SelectedIndex = krpcbBalancePay.Items.Count - 1; IsAddedMemberOrSupplier = true; double balancePrice = double.Parse(krplBalancePriceValue.Text); // 如果会员的钱够, 则放进需要放的钱中. if (Mark == "+" && balancePrice < 0 && (null != member && member.BalancePrice >= Math.Abs(balancePrice)) || (null != supplier && supplier.BalancePrice >= Math.Abs(balancePrice))) { ChangePrice = Math.Abs(balancePrice).ToString(); this.krptChangePrice.Text = ChangePrice; Calc(); krptChangePrice.Focus(); krptChangePrice.SelectionStart = krptChangePrice.TextLength; krptChangePrice.SelectAll(); } }
private void AddMemberOrSupplier(CommonPayModel item) { string BalanceName = ""; if (IsMember && null != item.MemberId) { if (null != item.Member && item.IsChange) { BalanceName += Resources.GetRes().PrintInfo.PriceSymbol + (item.Member.BalancePrice) + ""; } BalanceName += "(" + Resources.GetRes().PrintInfo.PriceSymbol + PayModel.Where(x => x.MemberId == item.MemberId && x.ParentId == item.ParentId).Sum(x => x.OriginalPrice) + ")"; BalanceName += " " + Resources.GetRes().GetString("Member"); krpcbBalancePay.Items.Add(new BalanceItemModel() { Text = BalanceName, Member = item.Member, IsBalance = false, IsChange = item.IsChange }); } else if (!IsMember && null != item.SupplierId) { if (null != item.Supplier && item.IsChange) { BalanceName += Resources.GetRes().PrintInfo.PriceSymbol + (item.Supplier.BalancePrice) + ""; } BalanceName += "(" + Resources.GetRes().PrintInfo.PriceSymbol + PayModel.Where(x => x.SupplierId == item.SupplierId && x.ParentId == item.ParentId).Sum(x => x.OriginalPrice) + ")"; BalanceName += " " + Resources.GetRes().GetString("Member"); krpcbBalancePay.Items.Add(new BalanceItemModel() { Text = BalanceName, Supplier = item.Supplier, IsBalance = false, IsChange = item.IsChange }); } }
/// <summary> /// 删除数据 /// </summary> private void Delete() { long Id = -1; try { //确认删除 var confirm = KryptonMessageBox.Show(this, Resources.GetRes().GetString("SureDelete"), Resources.GetRes().GetString("Warn"), MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (confirm != DialogResult.Yes) { return; } Id = long.Parse(krpdgList.SelectedRows[0].Cells["krpcmSupplierPayId"].Value.ToString()); //如果是没添加过的记录,就直接删除 if (Id == -1) { KryptonMessageBox.Show(this, Resources.GetRes().GetString("DeleteSuccess"), Resources.GetRes().GetString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information); krpdgList.Rows.Remove(krpdgList.SelectedRows[0]); return; } } catch (Exception ex) { ExceptionPro.ExpLog(ex, new Action <string>((message) => { KryptonMessageBox.Show(this, message, Resources.GetRes().GetString("Warn"), MessageBoxButtons.OK, MessageBoxIcon.Warning); }), false, Resources.GetRes().GetString("DeleteFailt")); return; } StartLoad(this, null); Task.Factory.StartNew(() => { SupplierPay supplierPay = resultList.Where(x => x.SupplierPayId == Id).FirstOrDefault(); double originalBalancePrice = Supplier.BalancePrice; ResultModel result = new ResultModel(); try { Supplier.BalancePrice = Supplier.BalancePrice - supplierPay.Price; Supplier newSupplier; result = OperatesService.GetOperates().ServiceDelSupplierPay(Supplier, supplierPay, out newSupplier); this.BeginInvoke(new Action(() => { if (result.Result) { KryptonMessageBox.Show(this, Resources.GetRes().GetString("DeleteSuccess"), Resources.GetRes().GetString("Information"), MessageBoxButtons.OK, MessageBoxIcon.Information); SupplierPay oldModel = resultList.Where(x => x.SupplierPayId == Id).FirstOrDefault(); krpdgList.Rows.Remove(krpdgList.SelectedRows[0]); resultList.Remove(oldModel); CommonPayModel oldCommonModel = this.commonPayList.Where(x => x.PayId == Id && x.Type == "SupplierPay").FirstOrDefault(); commonPayList.Remove(oldCommonModel); this.ReturnValue = newSupplier; this.Supplier = newSupplier; } else { if (result.IsDataHasRefrence) { KryptonMessageBox.Show(this, Resources.GetRes().GetString("PropertyUsed"), Resources.GetRes().GetString("Warn"), MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (result.UpdateModel) { KryptonMessageBox.Show(this, Resources.GetRes().GetString("PropertyUnSame"), Resources.GetRes().GetString("Warn"), MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { KryptonMessageBox.Show(this, Resources.GetRes().GetString("DeleteFailt"), Resources.GetRes().GetString("Warn"), MessageBoxButtons.OK, MessageBoxIcon.Warning); } } })); } catch (Exception ex) { this.BeginInvoke(new Action(() => { ExceptionPro.ExpLog(ex, new Action <string>((message) => { if (result.Result) { Supplier.BalancePrice = originalBalancePrice; } KryptonMessageBox.Show(this, message, Resources.GetRes().GetString("Warn"), MessageBoxButtons.OK, MessageBoxIcon.Warning); }), false, Resources.GetRes().GetString("DeleteFailt")); })); } StopLoad(this, null); }); }
/// <summary> /// 添加到列表 /// </summary> /// <param name="editMark"></param> /// <param name="Id"></param> /// <param name="Price"></param> /// <param name="IsPayByCard"></param> /// <param name="Remark"></param> /// <param name="AddTime"></param> private void AddToGrid(string editMark, string Id, double Price, string BalanceName, string Remark, long AddTime, CommonPayModel model) { string AddTimeStr = ""; string OperateNameStr = ""; try { AddTimeStr = DateTime.ParseExact(AddTime.ToString(), "yyyyMMddHHmmss", System.Globalization.CultureInfo.InvariantCulture).ToString("yyyy-MM-dd HH:mm"); if (null != model) { OperateNameStr = GetOperateName(model); } } catch (Exception ex) { ExceptionPro.ExpLog(ex); } if (editMark == "*") { krpdgList.Rows.Insert(0, editMark, Id, OperateNameStr, GetOperateSymbal(model, Price).ToString(), BalanceName, Remark, AddTimeStr); } else { krpdgList.Rows.Add(editMark, Id, OperateNameStr, GetOperateSymbal(model, Price).ToString(), BalanceName, Remark, AddTimeStr); krpdgList.Rows[krpdgList.Rows.Count - 1].Cells["krpcmPrice"].ReadOnly = true; krpdgList.Rows[krpdgList.Rows.Count - 1].Cells["krpcmBalanceType"].ReadOnly = true; krpdgList.Rows[krpdgList.Rows.Count - 1].Cells["krpcmRemark"].ReadOnly = true; } }