コード例 #1
0
        public List <XMInvoiceInfoDetail> InitializationInvoiceInfoDetail(List <XMInvoiceInfoDetail> list)
        {
            List <XMInvoiceInfoDetail> List = new List <XMInvoiceInfoDetail>();

            for (int i = 0; i < list.Count; i++)
            {
                XMInvoiceInfoDetail one = new XMInvoiceInfoDetail();
                one.ID          = i;
                one.ProductName = list[i].ProductName;
                one.ProductUnit = list[i].ProductUnit;
                one.Count       = list[i].Count;
                one.UnitPrice   = list[i].UnitPrice;
                one.Amount      = list[i].Amount;
                one.IsEnable    = false;
                one.CreateID    = HozestERPContext.Current.User.CustomerID;
                one.CreateDate  = DateTime.Now;
                one.UpdateID    = HozestERPContext.Current.User.CustomerID;
                one.UpdateDate  = DateTime.Now;
                List.Add(one);
            }
            return(List);
        }
コード例 #2
0
        protected void grdvClients_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                List <XMInvoiceInfoDetail> list = new List <XMInvoiceInfoDetail>();
                if (Session["InvoiceInfoDetailList"] != null)
                {
                    list = ((List <XMInvoiceInfoDetail>)Session["InvoiceInfoDetailList"]);
                }

                if (e.CommandName.Equals("ToDelete"))//删除
                {
                    if (Id != 0)
                    {
                        var Info = base.XMInvoiceInfoDetailService.GetXMInvoiceInfoDetailByID(Convert.ToInt32(e.CommandArgument));
                        if (Info != null)//删除
                        {
                            Info.IsEnable   = true;
                            Info.UpdateID   = HozestERPContext.Current.User.CustomerID;
                            Info.UpdateDate = DateTime.Now;
                            base.XMInvoiceInfoDetailService.UpdateXMInvoiceInfoDetail(Info);
                        }
                    }
                    else
                    {
                        list.RemoveAt(Convert.ToInt32(e.CommandArgument));
                        for (int i = 0; i < list.Count; i++)
                        {
                            list[i].ID = i;
                        }
                        Session["InvoiceInfoDetailList"] = list;
                    }
                    base.ShowMessage("操作成功!");
                    this.BindGrid();
                }
                if (e.CommandName.Equals("ToEdit"))//修改
                {
                    int           a              = 0;
                    decimal       b              = 0;
                    GridViewRow   gvr            = (GridViewRow)((Control)e.CommandSource).Parent.Parent;
                    HtmlInputText lblProductName = (HtmlInputText)gvr.FindControl("lblProductName");
                    HtmlInputText lblProductUnit = (HtmlInputText)gvr.FindControl("lblProductUnit");
                    HtmlInputText lblCount       = (HtmlInputText)gvr.FindControl("lblCount");
                    HtmlInputText lblUnitPrice   = (HtmlInputText)gvr.FindControl("lblUnitPrice");
                    HtmlInputText lblAmount      = (HtmlInputText)gvr.FindControl("lblAmount");

                    if (lblProductName.Value == "" || lblCount.Value == "" || lblUnitPrice.Value == "" || lblAmount.Value == "")
                    {
                        base.ShowMessage("数据不能为空!");
                        return;
                    }

                    if (!int.TryParse(lblCount.Value, out a))
                    {
                        base.ShowMessage("数量必须为整数!");
                        return;
                    }

                    if (!decimal.TryParse(lblUnitPrice.Value, out b) || !decimal.TryParse(lblAmount.Value, out b))
                    {
                        base.ShowMessage("单价,总价必须为数字!");
                        return;
                    }

                    bool PinPaiCheck    = false;
                    var  CodeListPinPai = CodeService.GetCodeListInfoByCodeTypeID(187);
                    foreach (var item in CodeListPinPai)
                    {
                        if (lblProductName.Value.Contains(item.CodeName))
                        {
                            PinPaiCheck = true;
                        }
                    }

                    bool ProductTypeCheck    = false;
                    var  CodeListProductType = CodeService.GetCodeListInfoByCodeTypeID(188);
                    foreach (var item in CodeListProductType)
                    {
                        if (lblProductName.Value.Contains(item.CodeName))
                        {
                            ProductTypeCheck = true;
                        }
                    }

                    if (!PinPaiCheck || !ProductTypeCheck)
                    {
                        base.ShowMessage("产品名称不符合规范,格式应是品牌+产品类型!");
                    }

                    XMInvoiceInfoDetail one = new XMInvoiceInfoDetail();
                    one.ProductName = lblProductName.Value.Trim();
                    one.ProductUnit = lblProductUnit.Value.Trim();
                    one.Count       = int.Parse(lblCount.Value.Trim());
                    one.UnitPrice   = decimal.Parse(lblUnitPrice.Value.Trim());
                    one.Amount      = decimal.Parse(lblAmount.Value.Trim());
                    one.IsEnable    = false;
                    one.CreateID    = HozestERPContext.Current.User.CustomerID;
                    one.CreateDate  = DateTime.Now;
                    one.UpdateID    = HozestERPContext.Current.User.CustomerID;
                    one.UpdateDate  = DateTime.Now;
                    if (Id != 0)
                    {
                        string OrderCode = this.txtOrderCode.Text.Trim();
                        var    OrderInfo = base.XMOrderInfoService.GetXMOrderInfoByOrderCode(OrderCode);
                        if (OrderInfo != null)
                        {
                            var     detaillist = base.XMInvoiceInfoDetailService.GetXMInvoiceInfoDetailListByOrderCode(OrderCode);
                            decimal total      = (decimal)detaillist.Sum(x => x.Amount);
                            total += (decimal)one.Amount;
                            if (total > OrderInfo.PayPrice)
                            {
                                base.ShowMessage("该订单发票总金额不能大于订单支付金额!");
                                return;
                            }
                        }

                        one.InvoiceInfoID = Id;
                        base.XMInvoiceInfoDetailService.InsertXMInvoiceInfoDetail(one);
                    }
                    else
                    {
                        one.ID = list.Count;
                        list.Add(one);
                        Session["InvoiceInfoDetailList"] = list;
                    }
                    base.ShowMessage("添加成功!");
                }
                this.BindGrid();
            }
            catch (Exception ex)
            {
                base.ProcessException(ex);
            }
        }