Пример #1
0
 /// <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);
     }
 }
Пример #2
0
 /// <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);
     }
 }
Пример #3
0
        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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
        /// <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();
            }
        }
Пример #7
0
        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
                });
            }
        }
Пример #8
0
        /// <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);
            });
        }
Пример #9
0
        /// <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;
            }
        }