private void TextBoxToModel(DataRow dr)
        {
            TPurchase       info        = _TPurchase;
            TPurchaseDetail tinfoDetail = new TPurchaseDetail();

            tinfoDetail.DetDetail = new MMS_PurchaseDetail();
            //TPurchaseDetail tinfoDetail = _TPurchase.Detail[0];
            string BillCode = dr["PurchaseBillCode"].ToString().Trim();
            int    BillId   = 0;

            if (BillId == 0)
            {
                info.Content.AuditFlag        = false;
                info.Content.InvoiceCode      = dr["InvoiceCode"].ToString().Trim();
                info.Content.Provider         = dr["Provider"].ToString().Trim();
                info.Content.PurchaseBillCode = dr["PurchaseBillCode"].ToString();
                if (!string.IsNullOrEmpty(dr["InvoiceDate"].ToString().Trim()))
                {
                    info.Content.InvoiceDate = Convert.ToDateTime(dr["InvoiceDate"].ToString().Trim());
                }

                if (!string.IsNullOrEmpty(dr["InvoiceCode"].ToString().Trim()))
                {
                    info.Content.InvoiceCode = dr["InvoiceCode"].ToString().Trim();
                }
                info.Content.PurchaseDate = DateTime.Now;
                info.Content.CheckMan     = RequestSession.GetSessionUser().UserAccount.ToString();
                info.Content.Operator     = Context.User.Identity.Name;
                info.Content.OperateDate  = DateTime.Now;
                info.OprType = OperateType.otInsert;
            }

            MMS_PurchaseDetail detail = tinfoDetail.DetDetail;

            detail.PurchaseBillCode = dr["PurchaseBillCode"].ToString(); //入库单号
            detail.ProductCode      = dr["ProductCode"].ToString();      //货品代码
            detail.Lot       = dr["Lot"].ToString();                     //批号
            detail.ValidDate = dr["ValidDate"].ToString();               //有效期
            if (!string.IsNullOrEmpty(dr["Quantity"].ToString()))        //数量
            {
                detail.Quantity = Convert.ToInt32(dr["Quantity"].ToString());
            }
            if (!string.IsNullOrEmpty(dr["Price"].ToString())) //单价
            {
                detail.Price = Convert.ToDouble(dr["Price"].ToString());
            }

            tinfoDetail.DetDetail = detail;
            tinfoDetail.OprType   = OperateType.otInsert;
            info.Detail.Add(tinfoDetail); //将操作实体添加到入库货品集合中

            int tempId = PurchaseService.Instance.SavePurchase(info);
        }
Ejemplo n.º 2
0
        protected void btnOK_Click(object sender, EventArgs e)
        {
            TPurchase info = _TPurchase;

            if (string.IsNullOrEmpty(detailId)) //插入操作
            {
                //创建入库货品实例
                TPurchaseDetail tinfoDetail = new TPurchaseDetail();
                tinfoDetail.DetDetail = new MMS_PurchaseDetail();
                if (info.Detail.Count > 0) //新插入的以-1开始,以后渐减
                {
                    //设置新录入入库货品的主键ID,以-1开始,以后渐减
                    int minId = info.Detail.Min(itm => itm.DetDetail.ID);
                    if (minId < 0)
                    {
                        tinfoDetail.DetDetail.ID = minId - 1;
                    }
                    else
                    {
                        tinfoDetail.DetDetail.ID = -1;
                    }
                }
                else //该入库单没有货品信息
                {
                    tinfoDetail.DetDetail.ID = -1;
                }
                DetailTextBoxToModel(tinfoDetail); //将入库货品赋值给实体
                tinfoDetail.OprType = OperateType.otInsert;
                info.Detail.Add(tinfoDetail);      //将操作实体添加到入库货品集合中
                _TPurchase = info;

                ClearDetailTextBox(); //清除入库货品服务器控件内容
                LoadData();           //加载Gridview数据
            }
            else //编辑操作
            {
                //根据入库货品ID取实体
                TPurchaseDetail tinfoDetail = info.Detail.First(itm => itm.DetDetail.ID == Convert.ToInt32(detailId));
                DetailTextBoxToModel(tinfoDetail);               //将服务器控件赋给实体
                if (tinfoDetail.OprType != OperateType.otInsert) //如果是新插入的仍保留插入状态
                {
                    tinfoDetail.OprType = OperateType.otUpdate;
                }
                _TPurchase = info;
                LoadData();                  //加载GridView数据
                EntryDetailInputPage(false); //切换到入库单录入页面
            }
        }
Ejemplo n.º 3
0
        private void ModelToDetailTextBox(TPurchaseDetail tinfo)
        {
            BindDict("Unit", ddlUnit); //将计量单位下拉框绑定字典
            //调用业务层方法取货品信息实体
            MMS_MaterialInfo   product = MaterialInfoService.Instance.GetProductInfoByCode(tinfo.DetDetail.ProductCode);
            MMS_PurchaseDetail detail  = tinfo.DetDetail;

            txtProductCode.Text = detail.ProductCode;                          //货品代码
            txtShortName.Text   = product.Material_Name;                       //货品简称
            txtSpecs.Text       = product.Material_Specification;              //规格
            txtLot.Text         = detail.Lot.ToString();                       //批号
            txtValidDate.Text   = detail.ValidDate.ToString();                 //有效期
            txtProvider.Text    = product.Material_Supplier.ToString();        //生产厂同
            ddlUnit.Text        = product.Material_Unit;                       //计量单位
            txtQuantity.Text    = detail.Quantity.ToString();                  //数量
            txtPrice.Text       = detail.Price.ToString();                     //单价
            txtSeldPrice.Text   = detail.SeldPrice.ToString();
            txtAmount.Text      = (detail.Quantity * detail.Price).ToString(); //金额=数量*单价
        }
Ejemplo n.º 4
0
        /// <summary>
        ///   根据主键值获取入库单实体
        /// </summary>
        /// <param name="id"> </param>
        /// <returns> </returns>
        public TPurchase GetPurchase(int id)
        {
            TPurchase resu = new TPurchase(); //创建入库单实体

            resu.OprType = OperateType.otNone;
            //取入库单主内容信息赋值给实体
            resu.Content = dc.MMS_PurchaseContent.Where(itm => itm.ID == id).First();
            //取入库单货品明细信息
            List <MMS_PurchaseDetail> tempList =
                dc.MMS_PurchaseDetail.Where(itm => itm.PurchaseBillCode == resu.Content.PurchaseBillCode).ToList();

            foreach (MMS_PurchaseDetail item in tempList)
            {
                TPurchaseDetail TDetail = new TPurchaseDetail();
                TDetail.OprType   = OperateType.otNone;
                TDetail.DetDetail = item;
                resu.Detail.Add(TDetail); //将入库单货品添加到实体的入库货品列表
            }
            return(resu);
        }
Ejemplo n.º 5
0
        private void DetailTextBoxToModel(TPurchaseDetail tinfo)
        {
            MMS_PurchaseDetail detail = tinfo.DetDetail;

            detail.PurchaseBillCode = txtPurchaseBillCode.Text; //入库单号
            detail.ProductCode      = txtProductCode.Text;      //货品代码
            detail.Lot       = txtLot.Text.ToString();          //批号
            detail.ValidDate = txtValidDate.Text;               //有效期
            if (!string.IsNullOrEmpty(txtQuantity.Text))        //数量
            {
                detail.Quantity = Convert.ToInt32(txtQuantity.Text);
            }
            if (!string.IsNullOrEmpty(txtPrice.Text)) //单价
            {
                detail.Price = Convert.ToDouble(txtPrice.Text);
            }
            if (!string.IsNullOrEmpty(txtSeldPrice.Text)) //出货单价
            {
                detail.SeldPrice = Convert.ToDouble(txtSeldPrice.Text.ToString());
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        ///   GridView行命令事件,点击GridView行按钮时触发的事件
        /// </summary>
        /// <param name="sender"> </param>
        /// <param name="e"> </param>
        protected void dgvInfo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (!string.IsNullOrEmpty(e.CommandName))                     //判断命令名是否为空
            {
                if (e.CommandName == "Edi")                               //如果触发的是详细信息按钮事件
                {
                    int      index  = Convert.ToInt32(e.CommandArgument); //取GridView行索引
                    GridView grid   = (GridView)e.CommandSource;          //取当前操作的GridView
                    int      tempId = Convert.ToInt32(grid.DataKeys[index].Value);
                    detailId = tempId.ToString();
                    TPurchaseDetail detail = _TPurchase.Detail.FirstOrDefault(itm => itm.DetDetail.ID == tempId);
                    ModelToDetailTextBox(detail); //将实体赋值给对应的服务器控件
                    EntryDetailInputPage(true);   //切换到货品录入页面
                }
                else if (e.CommandName == "Del")
                {
                    int      index = Convert.ToInt32(e.CommandArgument);          //取GridView行索引
                    GridView grid  = (GridView)e.CommandSource;                   //取当前操作的GridView
                    int      id    = Convert.ToInt32(grid.DataKeys[index].Value); //取GridView主键值

                    TPurchase       temp       = _TPurchase;
                    TPurchaseDetail tempDetail = temp.Detail.First(itm => itm.DetDetail.ID == id);
                    if (tempDetail.OprType == OperateType.otInsert) //如果是新插入的直接将其删除
                    {
                        temp.Detail.Remove(tempDetail);
                    }
                    else //如是不是新插入的置删除标志
                    {
                        tempDetail.OprType = OperateType.otDelete;
                    }
                    _TPurchase = temp;
                    LoadData();
                }
                else if (e.CommandName == "Page")
                {
                    LoadData();
                }
            }
        }