public ResultModel Invalid(UserModel user, int fundsInvoiceId) { ResultModel result = new ResultModel(); try { FinanceInvoiceDAL fundsInvoiceDAL = new FinanceInvoiceDAL(); DAL.FinBusInvAllotDetailDAL finBusInvAllotDetailDal = new FinBusInvAllotDetailDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取财务票 result = fundsInvoiceDAL.Get(user, fundsInvoiceId); if (result.ResultStatus != 0) return result; FinanceInvoice fundsInvoice = result.ReturnValue as FinanceInvoice; if (fundsInvoice == null || fundsInvoice.FinanceInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "财务发票验证失败"; return result; } //获取发票 result = invoiceDAL.Get(user, fundsInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票获取失败"; return result; } //作废发票 result = invoiceDAL.Invalid(user, invoice); if (result.ResultStatus != 0) return result; //作废财务发票与业务发票关联 2015/8/4 result = finBusInvAllotDetailDal.InvalidAllByFinInvoiceId(user, fundsInvoiceId); if (result.ResultStatus != 0) return result; scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public ResultModel Invalid(UserModel user, int businessInvoiceId) { ResultModel result = new ResultModel(); try { BusinessInvoiceDAL businessInvoiceDAL = new BusinessInvoiceDAL(); InvoiceDAL invoiceDAL = new InvoiceDAL(); BusinessInvoiceDetailDAL detailDAL = new BusinessInvoiceDetailDAL(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //获取财务票 result = businessInvoiceDAL.Get(user, businessInvoiceId); if (result.ResultStatus != 0) return result; BusinessInvoice businessInvoice = result.ReturnValue as BusinessInvoice; if (businessInvoice == null || businessInvoice.BusinessInvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票验证失败"; return result; } //获取发票 result = invoiceDAL.Get(user, businessInvoice.InvoiceId); if (result.ResultStatus != 0) return result; Operate.Model.Invoice invoice = result.ReturnValue as Operate.Model.Invoice; if (invoice == null || invoice.InvoiceId <= 0) { result.ResultStatus = -1; result.Message = "发票获取失败"; return result; } //作废发票 result = invoiceDAL.Invalid(user, invoice); if (result.ResultStatus != 0) return result; //获取明细 result = detailDAL.Load(user, businessInvoice.BusinessInvoiceId); if (result.ResultStatus != 0) return result; List<BusinessInvoiceDetail> details = result.ReturnValue as List<BusinessInvoiceDetail>; if (details == null) { result.ResultStatus = -1; result.Message = "发票明细获取失败"; return result; } foreach (BusinessInvoiceDetail detail in details) { if (detail.DetailStatus == StatusEnum.已生效) detail.DetailStatus = StatusEnum.已录入; result = detailDAL.Invalid(user, detail); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }