private Guid GetCMSObjectIdOfTransaction(Guid transactionId) { if (transactionId != null && !transactionId.Equals(Guid.Empty)) { NAS.DAL.CMS.ObjectDocument.Object cmsObject = null; using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork()) { Transaction transaction = uow.GetObjectByKey <Transaction>(transactionId); TransactionObject transactionObject = transaction.TransactionObjects.FirstOrDefault(); if (transactionObject == null) { ObjectBO objectBO = new ObjectBO(); NAS.DAL.CMS.ObjectDocument.ObjectTypeEnum objectType = ObjectTypeEnum.VOUCHER_PAYMENT;; if (Strategy.GetConcreteVoucherType().Equals(typeof(NAS.DAL.Vouches.ReceiptVouches))) { objectType = NAS.DAL.CMS.ObjectDocument.ObjectTypeEnum.VOUCHER_RECEIPT; } else if (Strategy.GetConcreteVoucherType().Equals(typeof(NAS.DAL.Vouches.PaymentVouches))) { objectType = NAS.DAL.CMS.ObjectDocument.ObjectTypeEnum.VOUCHER_PAYMENT; } else { throw new Exception("Create object the specific type is out of scope"); } cmsObject = objectBO.CreateCMSObject(uow, objectType); TransactionObject newTransactionObject = new TransactionObject(uow) { ObjectId = cmsObject, TransactionId = transaction }; uow.CommitChanges(); } else { cmsObject = transactionObject.ObjectId; } return(cmsObject.ObjectId); } } else { return(Guid.Empty); } }
private Guid GetCMSObjectIdOfGeneralJounal(Guid generalJounalId) { if (generalJounalId != null && !generalJounalId.Equals(Guid.Empty)) { NAS.DAL.CMS.ObjectDocument.Object cmsObject = null; using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork()) { GeneralJournal generalJournal = uow.GetObjectByKey <GeneralJournal>(generalJounalId); GeneralJournalObject generalJournalObject = generalJournal.GeneralJournalObjects.FirstOrDefault(); if (generalJournalObject == null) { ObjectBO objectBO = new ObjectBO(); NAS.DAL.CMS.ObjectDocument.ObjectTypeEnum objectType = ObjectTypeEnum.VOUCHER_PAYMENT;; if (Strategy.GetConcreteVoucherTransactionType().Equals(typeof(NAS.DAL.Accounting.Journal.ReceiptVouchesTransaction))) { objectType = NAS.DAL.CMS.ObjectDocument.ObjectTypeEnum.VOUCHER_RECEIPT; } else if (Strategy.GetConcreteVoucherTransactionType().Equals(typeof(NAS.DAL.Accounting.Journal.PaymentVouchesTransaction))) { objectType = NAS.DAL.CMS.ObjectDocument.ObjectTypeEnum.VOUCHER_PAYMENT; } else { throw new Exception("Create object the specific type is out of scope"); } cmsObject = objectBO.CreateCMSObject(uow, objectType); GeneralJournalObject newTransactionObject = new GeneralJournalObject(uow) { ObjectId = cmsObject, GeneralJournalId = generalJournal }; uow.CommitChanges(); } else { cmsObject = generalJournalObject.ObjectId; } return(cmsObject.ObjectId); } } else { return(Guid.Empty); } }