/// <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); } }
/// <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); } } }
/// <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); } }