protected void Page_Load(object sender, EventArgs e) { op = RequestData.Get <string>("op"); id = RequestData.Get <string>("id"); if (!string.IsNullOrEmpty(id)) { ent = ReturnOrder.Find(id); } switch (RequestActionString) { case "update": ent = GetMergedData <ReturnOrder>(); ent.DoUpdate(); break; case "create": ent = this.GetPostedData <ReturnOrder>(); ent.Number = DataHelper.QueryValue("select SHHG_AimExamine.dbo.fun_getReturnOrderNumber()") + ""; //自动生成流水号 ent.State = "已生成"; ent.DoCreate(); soent = SaleOrder.FindAllByProperty("Number", ent.OrderNumber).FirstOrDefault <SaleOrder>(); soent.ReturnAmount = (soent.ReturnAmount.HasValue ? soent.ReturnAmount.Value : 0) + ent.ReturnMoney; soent.DoUpdate(); //将退货金额反写到销售单 if (soent.InvoiceState == "已全部开发票") { ent.IsDiscount = "T"; ent.DoUpdate(); } InWarehouse inwh = new InWarehouse { PublicInterface = ent.Id, //退货单Id InWarehouseNo = DataHelper.QueryValue("select SHHG_AimExamine.dbo.fun_getInWarehouseNo()").ToString(), InWarehouseType = "退货入库", WarehouseId = ent.WarehouseId, WarehouseName = ent.WarehouseName, State = "未入库" }; inwh.DoCreate(); ProcessDetail(inwh); break; case "GetSaleOrderPart": string orderNumber = RequestData.Get <string>("OrderNumber"); soent = SaleOrder.FindAllByProperty("Number", orderNumber).FirstOrDefault <SaleOrder>(); PageState.Add("Result", OrdersPart.FindAllByProperty(OrdersPart.Prop_OId, soent.Id)); break; default: DoSelect(); break; } }
protected void Page_Load(object sender, EventArgs e) { id = RequestData.Get <string>("id"); if (!string.IsNullOrEmpty(id)) { roEnt = ReturnOrder.Find(id); } switch (RequestActionString) { case "delete": //先删除入库单及入库明细 InWarehouse iwEnt = InWarehouse.FindAllByProperty(InWarehouse.Prop_PublicInterface, roEnt.Id).FirstOrDefault <InWarehouse>(); IList <OtherInWarehouseDetail> oiwdEnts = OtherInWarehouseDetail.FindAllByProperty(OtherInWarehouseDetail.Prop_InWarehouseId, iwEnt.Id); foreach (OtherInWarehouseDetail oiwdEnt in oiwdEnts) { oiwdEnt.DoDelete(); } iwEnt.DoDelete(); //更新销售单及销售明细 SaleOrder soEnt = SaleOrder.FindAllByProperty(SaleOrder.Prop_Number, roEnt.OrderNumber).FirstOrDefault <SaleOrder>(); soEnt.ReturnAmount = (soEnt.ReturnAmount.HasValue ? soEnt.ReturnAmount.Value : 0) - (roEnt.ReturnMoney.HasValue ? roEnt.ReturnMoney.Value : 0); soEnt.DoUpdate(); IList <ReturnOrderPart> ropEnts = ReturnOrderPart.FindAllByProperty(ReturnOrderPart.Prop_ReturnOrderId, roEnt.Id); foreach (ReturnOrderPart ropEnt in ropEnts) { OrdersPart opEnt = OrdersPart.Find(ropEnt.OrderPartId); opEnt.ReturnCount = (opEnt.ReturnCount.HasValue ? opEnt.ReturnCount.Value : 0) - ropEnt.Count; opEnt.DoUpdate(); ropEnt.DoDelete(); } roEnt.DoDelete(); break; default: DoSelect(); break; } }