public static WFExchangeData PostModirDakhiliAction(ActionMethodParams actionMethodParams) { try { int contractId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>(); WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData; ContractRule contractRule = new ContractRule(UnitOfWork); DomainClasses.Contract.Contract contract = contractRule.Find(contractId); if (contract == null) { throw new OMFValidationException($" قرارداد با شناسه ثبت شده یافت نشد. شناسه: {contractId}"); } if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.TabdelPishghrardadBeGharardad) { using (var uow = new UnitOfWork()) { contract.Status = Status.ConfirmationPreContract; contract.ContractType = ContractType.RentTo; // var contract_Sazes = uow.Repository<Contract_Saze>().Queryable().Where(x => x.ContractID == contract.ID).ToList(); foreach (var contract_Saze in contract.Contract_Sazes ?? new List <Contract_Saze>()) { contract_Saze.Status = Status.ConfirmationPreContract; contract_Saze.ObjectState = OMF.Common.Enums.ObjectState.Modified; } uow.Repository <DomainClasses.Contract.Contract>().Update(contract); uow.SaveChanges(); } InvoiceRule invoiceRule = new InvoiceRule(UnitOfWork); var invoice = invoiceRule.ConvertContractToInvoice(contract.ID, NoeFactor.RentTo); var document = invoiceRule.RegisterDocument(invoice, invoice.OrganId); DocumentRule documentRule = new DocumentRule(); documentRule.Insert(document, invoice.OrganId); documentRule.SaveChanges(); } return(ex); } catch (Exception ex) { throw; } }
public static WFExchangeData PostModirAction(ActionMethodParams actionMethodParams) { try { int invoiceId = actionMethodParams.InitialExchangeData[WfConstants.RelatedRecordIdKey].ConvertTo <int>(); WFExchangeData ex = (WFExchangeData)actionMethodParams.WorkflowInstanceState.ExchangeData; InvoiceRule invoiceRule = new InvoiceRule(UnitOfWork); Invoice invoice = invoiceRule.Find(invoiceId); if (invoice == null) { throw new OMFValidationException($"فاکتوری با شناسه ثبت شده یافت نشد. شناسه: {invoiceId}"); } if (actionMethodParams.ContinueInfo.ActionId == (int)WorkFlowActionType.TaeedVaKhateme) { var document = invoiceRule.RegisterDocument(invoice, invoice.OrganId); DocumentRule documentRule = new DocumentRule(); documentRule.Insert(document, invoice.OrganId); documentRule.SaveChanges(); invoice.Status = NoeInsertFactor.WaitingToReceive; invoiceRule.Update(invoice); invoiceRule.SaveChanges(); } return(ex); } catch (Exception ex1) { throw; } }