Esempio n. 1
0
        /// <summary>
        /// 耗材采购单创建
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        public ReturnInfo AddPurchaseOrder(ConPurchaseOrderInputDto inputDto)
        {
            ReturnInfo RInfo = new ReturnInfo();

            if (string.IsNullOrEmpty(inputDto.NAME))
            {
                throw new Exception("采购单名称不能为空!");
            }
            if (string.IsNullOrEmpty(inputDto.PURCHASER))
            {
                throw new Exception("请选择采购人!");
            }
            String MaxID = _ConPurchaseOrderReposity.GetMaxID();       //获取最大采购单ID
            String NowID = Helper.GenerateID("PO", MaxID);

            //产生采购单编号
            inputDto.POID = NowID;
            try
            {
                ConPurchaseOrder purchaseOrder = new ConPurchaseOrder();
                purchaseOrder        = Mapper.Map <ConPurchaseOrderInputDto, ConPurchaseOrder>(inputDto);
                purchaseOrder.STATUS = 0;
                _unitOfWork.RegisterNew(purchaseOrder);

                foreach (var Row in inputDto.RowData)
                {
                    ConPurchaseOrderRow purchaseOrderRow = new ConPurchaseOrderRow();
                    purchaseOrderRow            = Mapper.Map <ConPurchaseOrderRowInputDto, ConPurchaseOrderRow>(Row);
                    purchaseOrderRow.POID       = NowID;
                    purchaseOrderRow.CREATEUSER = inputDto.CREATEUSER;
                    purchaseOrderRow.CREATEDATE = DateTime.Now;
                    purchaseOrderRow.MODIFYUSER = inputDto.MODIFYUSER;
                    purchaseOrderRow.MODIFYDATE = DateTime.Now;
                    purchaseOrderRow.STATUS     = 0;
                    _unitOfWork.RegisterNew(purchaseOrderRow);
                }
                bool result = _unitOfWork.Commit();
                RInfo.IsSuccess = result;
                RInfo.ErrorInfo = inputDto.POID;
                return(RInfo);
            }
            catch (Exception ex)
            {
                _unitOfWork.Rollback();
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = ex.Message;
                return(RInfo);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 更新采购单
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        public ReturnInfo UpdatePruchaseOrder(ConPurchaseOrderInputDto inputDto)
        {
            ReturnInfo       RInfo = new ReturnInfo();
            StringBuilder    sb    = new StringBuilder();
            ConPurchaseOrder Order = _ConPurchaseOrderReposity.GetById(inputDto.POID).FirstOrDefault();

            if (Order == null)
            {
                sb.Append("该采购单不存在,请检查!");
                RInfo.IsSuccess = false;
                RInfo.ErrorInfo = sb.ToString();
                return(RInfo);
            }
            else      //采购单存在
            {
                Order.REALID     = inputDto.REALID;
                Order.NAME       = inputDto.NAME;
                Order.VID        = inputDto.VID;
                Order.PURCHASER  = inputDto.PURCHASER;
                Order.MODIFYDATE = inputDto.MODIFYDATE;
                Order.MODIFYUSER = inputDto.MODIFYUSER;
                _unitOfWork.RegisterDirty(Order);

                //如果原来存在行项,则先删除
                List <ConPurchaseOrderRow> Rows = _ConPurchaseOrderRowReposity.GetByPOID(inputDto.POID).ToList();
                if (Rows.Count > 0)    //如果存在行项
                {
                    foreach (ConPurchaseOrderRow Row in Rows)
                    {
                        _unitOfWork.RegisterDeleted(Row);
                    }
                }
                ///添加新的选择行项
                foreach (ConPurchaseOrderRowInputDto Row in inputDto.RowData)
                {
                    ConPurchaseOrderRow purchaseOrderRow = new ConPurchaseOrderRow();
                    purchaseOrderRow            = Mapper.Map <ConPurchaseOrderRowInputDto, ConPurchaseOrderRow>(Row);
                    purchaseOrderRow.POID       = inputDto.POID;
                    purchaseOrderRow.CREATEUSER = inputDto.CREATEUSER;
                    purchaseOrderRow.CREATEDATE = DateTime.Now;
                    purchaseOrderRow.MODIFYUSER = inputDto.MODIFYUSER;
                    purchaseOrderRow.MODIFYDATE = DateTime.Now;
                    purchaseOrderRow.STATUS     = 0;
                    _unitOfWork.RegisterNew(purchaseOrderRow);
                }
                try
                {
                    _unitOfWork.Commit();
                    RInfo.IsSuccess = true;
                    return(RInfo);
                }
                catch (Exception ex)
                {
                    _unitOfWork.Rollback();
                    sb.Append(ex.Message);
                    RInfo.IsSuccess = false;
                    RInfo.ErrorInfo = sb.ToString();
                    return(RInfo);
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 创建采购单
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSave_Press(object sender, EventArgs e)
        {
            try
            {
                if (String.IsNullOrEmpty(txtName.Text))
                {
                    throw new Exception("采购单名称不能为空!");
                }
                if (btnDealMan.Tag == null)
                {
                    throw new Exception("请选择采购人!");
                }
                ConPurchaseOrderInputDto Data = new ConPurchaseOrderInputDto();
                Data.REALID     = txtRealID.Text;
                Data.NAME       = txtName.Text;
                Data.PURCHASER  = btnDealMan.Tag.ToString();
                Data.VID        = Convert.ToInt32(btnVendor.Tag);
                Data.CREATEUSER = Client.Session["UserID"].ToString();
                Data.CREATEDATE = DateTime.Now;
                Data.MODIFYUSER = Client.Session["UserID"].ToString();
                Data.MODIFYDATE = DateTime.Now;
                List <ConPurchaseOrderRowInputDto> RowData = new List <ConPurchaseOrderRowInputDto>();
                //获取行项数据
                foreach (ListViewRow Row in ListCons.Rows)
                {
                    frmPurchaseCreateLayout     Layout = Row.Control as frmPurchaseCreateLayout;
                    ConPurAndSaleCreateInputDto conPurAndSaleCreateInputDto = Layout.getData();
                    ConPurchaseOrderRowInputDto row = new ConPurchaseOrderRowInputDto();
                    row.CID            = conPurAndSaleCreateInputDto.CID;
                    row.IMAGE          = conPurAndSaleCreateInputDto.IMAGE;
                    row.QUANTPURCHASED = conPurAndSaleCreateInputDto.QUANTPURCHASED;
                    row.REALPRICE      = conPurAndSaleCreateInputDto.REALPRICE;
                    RowData.Add(row);
                }

                Data.RowData = RowData;
                ReturnInfo RInfo = new ReturnInfo();

                if (String.IsNullOrEmpty(POID))     //创建耗材采购单
                {
                    RInfo = autofacConfig.ConPurchaseOrderService.AddPurchaseOrder(Data);
                    if (RInfo.IsSuccess)     //创建成功
                    {
                        this.Close();        //关闭当前界面,返回到列表界面
                        ShowResult = ShowResult.Yes;
                        Toast("采购单" + RInfo.ErrorInfo + "创建成功!");
                    }
                    else       //创建失败
                    {
                        throw new Exception(RInfo.ErrorInfo);
                    }
                }
                else               //更新耗材采购单
                {
                    Data.POID = POID;
                    RInfo     = autofacConfig.ConPurchaseOrderService.UpdatePruchaseOrder(Data);
                    if (RInfo.IsSuccess)     //创建成功
                    {
                        this.Close();        //关闭当前界面,返回到列表界面
                        ShowResult = ShowResult.Yes;
                        Toast("采购单" + POID + "编辑成功!");
                    }
                    else       //创建失败
                    {
                        throw new Exception(RInfo.ErrorInfo);
                    }
                }
            }
            catch (Exception ex)
            {
                Toast(ex.Message);
            }
        }