public async Task <IdOutputDto <long> > CreatePurchaseOrderEntryDocumentUnit(PurchaseOrderEntryDocumentInputUnit input) { var purchaseOrderTransactions = input.MapTo <PurchaseOrderEntryDocumentUnit>(); purchaseOrderTransactions.TypeOfAccountingDocumentId = TypeOfAccountingDocument.PurchaseOrders; //Sum of purchase order Details amount purchaseOrderTransactions.PoOriginalAmount = !ReferenceEquals(input.PurchaseOrderDetailList, null) ? input.PurchaseOrderDetailList.Sum(u => u.Amount.Value) : 0; IdOutputDto <long> response = new IdOutputDto <long> { Id = await _purchaseOrderEntryDocumentUnitManager.CreateAsync(purchaseOrderTransactions) }; //Null Checking of PurchaseOrderDetailList if (!ReferenceEquals(input.PurchaseOrderDetailList, null)) { var source = CoreHelpers.GetSourceType(typeof(PurchaseOrderEntryDocumentDetailUnit).Name); //Bulk Insertion of PurchaseOrderDetail foreach (var purchaseOrderDetail in input.PurchaseOrderDetailList) { purchaseOrderDetail.AccountingDocumentId = response.Id; var purchaseOrderDetailUnit = purchaseOrderDetail.MapTo <PurchaseOrderEntryDocumentDetailUnit>(); purchaseOrderDetailUnit.AccountingItemOrigAmount = purchaseOrderDetail.Amount; purchaseOrderDetailUnit.SourceTypeId = SourceType.PO; await _purchaseOrderDetailUnitManager.CreateAsync(purchaseOrderDetailUnit); } } await CurrentUnitOfWork.SaveChangesAsync(); return(response); }
public async Task <IdOutputDto <int> > UpdateDivisionUnit(UpdateJobUnitInput input) { var jobUnit = await _jobUnitRepository.GetAsync(input.JobId); #region Setting the values to be updated jobUnit.JobNumber = input.JobNumber; jobUnit.Caption = input.Caption; jobUnit.TypeOfCurrencyId = input.TypeOfCurrencyId; jobUnit.IsActive = input.IsActive; jobUnit.OrganizationUnitId = input.OrganizationUnitId; jobUnit.IsDivision = true; #endregion await _jobUnitManager.UpdateAsync(jobUnit); await CurrentUnitOfWork.SaveChangesAsync(); IdOutputDto <int> response = new IdOutputDto <int>() { JobId = jobUnit.Id }; return(response); }
public async Task <IdOutputDto <long> > UpdateAccountUnit(UpdateAccountUnitInput input) { var accountUnit = await _accountUnitRepository.GetAsync(input.AccountId); #region Setting the values to be updated accountUnit.AccountNumber = input.AccountNumber; accountUnit.Caption = input.Caption; accountUnit.ChartOfAccountId = input.ChartOfAccountId; accountUnit.ParentId = input.ParentId != 0 ? input.ParentId : null; accountUnit.OrganizationUnitId = input.OrganizationUnitId; accountUnit.BalanceSheetName = input.BalanceSheetName; accountUnit.CashFlowName = input.CashFlowName; accountUnit.Description = input.Description; accountUnit.IsActive = input.IsActive; accountUnit.IsApproved = input.IsApproved; accountUnit.IsBalanceSheet = input.IsBalanceSheet; accountUnit.IsCashFlow = input.IsCashFlow; accountUnit.IsDescriptionLocked = input.IsDescriptionLocked; accountUnit.IsDocControlled = input.IsDocControlled; accountUnit.IsElimination = input.IsElimination; accountUnit.IsEnterable = input.IsEnterable; accountUnit.IsProfitLoss = input.IsProfitLoss; accountUnit.IsRollupAccount = input.IsRollupAccount; accountUnit.IsRollupOverridable = input.IsRollupOverridable; accountUnit.IsSummaryAccount = input.IsSummaryAccount; accountUnit.IsUs1120BalanceSheet = input.IsUs1120BalanceSheet; accountUnit.IsUs1120IncomeStmt = input.IsUs1120IncomeStmt; accountUnit.LinkAccountId = input.LinkAccountId; accountUnit.LinkJobId = input.LinkJobId; accountUnit.ProfitLossName = input.ProfitLossName; accountUnit.RollupAccountId = input.RollupAccountId; accountUnit.IsAccountRevalued = input.IsAccountRevalued; accountUnit.TypeOfCurrencyId = input.TypeOfCurrencyId; accountUnit.TypeOfCurrencyRateId = input.TypeOfCurrencyRateId; accountUnit.TypeofConsolidationId = input.TypeofConsolidationId; accountUnit.RollupJobId = input.RollupJobId; accountUnit.TypeOfAccountId = input.TypeOfAccountId; accountUnit.Us1120BalanceSheetName = input.Us1120BalanceSheetName; accountUnit.DisplaySequence = input.DisplaySequence; accountUnit.Us1120IncomeStmtName = input.Us1120IncomeStmtName; #endregion await _accountUnitManager.UpdateAsync(accountUnit); await CurrentUnitOfWork.SaveChangesAsync(); IdOutputDto <long> responseDto = new IdOutputDto <long> { AccountId = accountUnit.Id }; return(responseDto); }
public async Task <IdOutputDto <int> > CreateJobDetailUnit(CreateJobCommercialInput input) { var jobDetailUnit = input.MapTo <JobCommercialUnit>(); IdOutputDto <int> response = new IdOutputDto <int>() { JobId = await _jobDetailUnitManager.CreateAsync(jobDetailUnit) }; await CurrentUnitOfWork.SaveChangesAsync(); return(response); }
public async Task <IdOutputDto <long> > CreateAccountUnit(CreateAccountUnitInput input) { var accountUnit = input.MapTo <AccountUnit>(); accountUnit.ParentId = input.ParentId != 0 ? input.ParentId : null; IdOutputDto <long> responseDto = new IdOutputDto <long> { AccountId = await _accountUnitManager.CreateAsync(accountUnit) }; await CurrentUnitOfWork.SaveChangesAsync(); _unitOfWorkManager.Current.Completed += (sender, args) => { }; return(responseDto); }
public async Task <IdOutputDto <int> > CreateDivisionUnit(CreateJobUnitInput input) { var chartofaccount = _coaUnitRepository.FirstOrDefault(p => p.IsCorporate); if (ReferenceEquals(chartofaccount, null)) { throw new UserFriendlyException(L("Pleasesetupchartofaccount")); } var jobUnit = new JobUnit(jobnumber: input.JobNumber, caption: input.Caption, iscorporatedefault: input.IsCorporateDefault, rollupaccountid: input.RollupAccountId, typeofcurrencyid: input.TypeOfCurrencyId, rollupjobid: input.RollupJobId, typeofjobstatusid: input.TypeOfJobStatusId, typeofbidsoftwareid: input.TypeOfBidSoftwareId, isapproved: input.IsApproved, isactive: input.IsActive, isictdivision: input.IsICTDivision, organizationunitid: input.OrganizationUnitId, typeofprojectid: input.TypeofProjectId, taxrecoveryid: input.TaxRecoveryId, chartofaccountid: chartofaccount.Id, rollupcenterid: input.RollupCenterId, isdivision: true, taxcreditid: input.TaxCreditId); IdOutputDto <int> response = new IdOutputDto <int> { JobId = await _jobUnitManager.CreateAsync(jobUnit) }; return(response); }
public async Task <IdOutputDto <long> > CreateAPHeaderTransactionUnit(APHeaderTransactionsInputUnit input) { var apHeaderTransactions = input.MapTo <ApHeaderTransactions>(); IdOutputDto <long> response = new IdOutputDto <long> { Id = await _apHeaderTransactionsUnitManager.CreateAsync(apHeaderTransactions) }; //Null Checking of InvoiceEntryDocumentDetailList if (!ReferenceEquals(input.InvoiceEntryDocumentDetailList, null)) { //Bulk Insertion of InvoiceEntryDocumentDetails foreach (var invoiceEntryDocumentDetail in input.InvoiceEntryDocumentDetailList) { await CreateAPHeaderTransactionDetailUnit(invoiceEntryDocumentDetail, response.Id); } } await CurrentUnitOfWork.SaveChangesAsync(); return(response); }
public async Task <IdOutputDto <long> > CreatePayrollEntryDocumentUnit(PayrollEntryDocumentInputUnit input) { var payrollEntryDocumentUnit = input.MapTo <PayrollEntryDocumentUnit>(); IdOutputDto <long> response = new IdOutputDto <long> { Id = await _payrollEntryDocumentUnitManager.CreateAsync(payrollEntryDocumentUnit) }; //Null Checking of PayrollEntryDocumentDetailInputList if (!ReferenceEquals(input.PayrollEntryDocumentDetailInputList, null)) { //Bulk Insertion of payrollEntryDocumentDetail foreach (var payrollEntryDocumentDetail in input.PayrollEntryDocumentDetailInputList) { payrollEntryDocumentDetail.AccountingDocumentId = response.Id; await CreatePayrollEntryDocumentDetailsUnit(payrollEntryDocumentDetail); } } await CurrentUnitOfWork.SaveChangesAsync(); return(response); }
/// <summary> /// /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <IdOutputDto <long> > CreateCreditCardEntryDocumentUnit(CreditCardEntryDocumentInputUnit input) { var creditEntryTransactions = input.MapTo <ChargeEntryDocumentUnit>(); IdOutputDto <long> response = new IdOutputDto <long> { Id = await _chargeEntryDocumentUnitManager.CreateAsync(creditEntryTransactions) }; //Null Checking of CreditCardEntryDetailList if (!ReferenceEquals(input.CreditCardEntryDetailList, null)) { //Bulk Insertion of creditCardEntryDocumentDetail foreach (var creditCardEntryDocumentDetail in input.CreditCardEntryDetailList) { creditCardEntryDocumentDetail.AccountingDocumentId = response.Id; var invoiceEntryDocumentDetailUnit = creditCardEntryDocumentDetail.MapTo <ChargeEntryDocumentDetailUnit>(); await _chargeEntryDocumentDetailUnitManager.CreateAsync(invoiceEntryDocumentDetailUnit); } } await CurrentUnitOfWork.SaveChangesAsync(); return(response); }
public async Task <IdOutputDto <long> > CreatePettyCashEntryDocumentUnit(PettyCashEntryDocumentInput input) { var pcEntryDocumnetUnit = input.MapTo <PettyCashEntryDocumentUnit>(); IdOutputDto <long> response = new IdOutputDto <long> { Id = await _pettyCashEntryDocumnetManager.CreateAsync(pcEntryDocumnetUnit) }; //Null Checking of PettyCashEntryDocumentDetailList if (!ReferenceEquals(input.PettyCashEntryDocumentDetailList, null)) { //Bulk Insertion of PettyCashEntryDocumentDetail foreach (var pcEntryDocumentDetail in input.PettyCashEntryDocumentDetailList) { pcEntryDocumentDetail.AccountingDocumentId = response.Id; var pcEntryDocumentDetailUnit = pcEntryDocumentDetail.MapTo <PettyCashEntryDocumentDetailUnit>(); await _pcEntryDocumnetDetailManager.CreateAsync(pcEntryDocumentDetailUnit); } } await CurrentUnitOfWork.SaveChangesAsync(); return(response); }
public async Task <IdOutputDto <int> > CreateJobUnit(CreateJobUnitInput input) { //validating the BudgetFormat(ChartofAccountId) if (input.ChartOfAccountId == null || input.ChartOfAccountId == 0) { throw new UserFriendlyException(L("BudgetFormatisRequired")); } CreateJobCommercialInput jobcommercialunit = new CreateJobCommercialInput { JobNumber = input.JobNumber, Caption = input.Caption, RollupCenterId = input.RollupCenterId, IsCorporateDefault = input.IsCorporateDefault, ChartOfAccountId = input.ChartOfAccountId, RollupAccountId = input.RollupAccountId, TypeOfCurrencyId = input.TypeOfCurrencyId, RollupJobId = input.RollupJobId, TypeOfJobStatusId = input.TypeOfJobStatusId, TypeOfBidSoftwareId = input.TypeOfBidSoftwareId, IsApproved = input.IsApproved, IsActive = input.IsActive, IsICTDivision = input.IsICTDivision, TypeofProjectId = input.TypeofProjectId, TaxRecoveryId = input.TaxRecoveryId }; IdOutputDto <int> response = await _jobCommercialAppService.CreateJobDetailUnit(jobcommercialunit); await InsertJobAccounts(input.ChartOfAccountId.Value, response.Id); _unitOfWorkManager.Current.Completed += (sender, args) => { }; await CurrentUnitOfWork.SaveChangesAsync(); return(response); }
public async Task <IdOutputDto <int> > UpdateJobUnit(UpdateJobUnitInput input) { if (input.ChartOfAccountId == 0) { throw new UserFriendlyException(L("BudgetFormat is Required")); } var jobUnit = await _jobUnitRepository.GetAsync(input.JobId); #region Setting the values to be updated jobUnit.JobNumber = input.JobNumber; jobUnit.Caption = input.Caption; jobUnit.IsCorporateDefault = input.IsCorporateDefault; jobUnit.RollupAccountId = input.RollupAccountId; jobUnit.TypeOfCurrencyId = input.TypeOfCurrencyId; jobUnit.RollupJobId = input.RollupJobId; jobUnit.TypeOfJobStatusId = input.TypeOfJobStatusId; jobUnit.TypeOfBidSoftwareId = input.TypeOfBidSoftwareId; jobUnit.IsApproved = input.IsApproved; jobUnit.IsActive = input.IsActive; jobUnit.IsICTDivision = input.IsICTDivision; jobUnit.TypeofProjectId = input.TypeofProjectId; jobUnit.TaxRecoveryId = input.TaxRecoveryId; jobUnit.ChartOfAccountId = input.ChartOfAccountId; jobUnit.RollupCenterId = input.RollupCenterId; #endregion await _jobUnitManager.UpdateAsync(jobUnit); //disable the SoftDelete Filter #region Adding the new lines to jobAccount using (UnitOfWorkManager.Current.DisableFilter(AbpDataFilters.SoftDelete)) { //get all jobaccounts and Lines var jobaccountsList = (from lines in _accountUnitRepository.GetAll().Where(p => p.ChartOfAccountId == input.ChartOfAccountId) join jobacc in _jobAccountUnitRepository.GetAll() on lines.Id equals jobacc.AccountId into jobaccount from jobaccounts in jobaccount.DefaultIfEmpty() join rollUpAccount in _accountUnitRepository.GetAll() on lines.RollupAccountId equals rollUpAccount.Id into rollUpAccount from rollUpAccounts in rollUpAccount.DefaultIfEmpty() join rollUpDivision in _jobUnitRepository.GetAll().Where(u => u.IsDivision == true) on lines.RollupJobId equals rollUpDivision.Id into rollUpDivision from rollUpDivisions in rollUpDivision.DefaultIfEmpty() select new { lines, jobaccounts, rollUpAccountDescription = rollUpAccounts.Caption, rollUpDivisionDescription = rollUpDivisions.Caption }).ToList(); //bulkinsertion foreach (var jobaccount in jobaccountsList) { if (ReferenceEquals(jobaccount.jobaccounts, null) && !jobaccount.lines.IsDeleted) { CreateJobAccountUnitInput jobAccount = new CreateJobAccountUnitInput { JobId = input.JobId, AccountId = jobaccount.lines.Id, RollupAccountId = input.RollupAccountId, RollupJobId = input.RollupJobId, Description = jobaccount.lines.Caption, RollupJobDescription = jobaccount.rollUpDivisionDescription, RollupAccountDescription = jobaccount.rollUpAccountDescription, }; await _jobAccountUnitAppService.CreateJobAccountUnit(jobAccount); } } } #endregion #region updating all JobAccounts of Job //bulk update if (!ReferenceEquals(input.JobAccountList, null)) { foreach (var jobAccounts in input.JobAccountList) { await _jobAccountUnitAppService.UpdateJobAccountUnit(jobAccounts); } } IdOutputDto <int> responseDto = new IdOutputDto <int> { JobId = jobUnit.Id }; return(responseDto); #endregion }