public async Task <IActionResult> PayAccount([Bind("RevenueId,DueDate,AccountBankId,ConditionId,Payment,Tax,Discont,Comment,Active,Image,Id")] PayAccount data, bool Active, List <IFormFile> Image) { Revenue revenue = await _revenueServices.SingleOrDefaultAsync(a => a.RevenueId == data.RevenueId); if (data.Payment.HasValue) { RevenueTrans revenueTrans = _financialExtension.GetRevenueTrans(data, _BusinessId, "PAG", revenue.DueDate.HasValue ? 2 : 3); BankTrans bankTrans = _financialExtension.GetBankTrans(data, revenueTrans, _BusinessId, revenue.ChartAccountId); //await _revenueTransServices.AddAsyncNoSave(revenue); await _bankTransServices.AddAsync(bankTrans, false); } if (data.Tax.HasValue) { RevenueTrans revenueTrans = _financialExtension.GetRevenueTrans(data, _BusinessId, "JUR", 1); await _revenueTransServices.AddAsync(revenueTrans, false); } if (data.Discont.HasValue) { RevenueTrans revenueTrans = _financialExtension.GetRevenueTrans(data, _BusinessId, "DIS", 2); await _revenueTransServices.AddAsync(revenueTrans, false); } if (data.Active) { revenue.DuePayment = data.DueDate; await _revenueServices.UpdateAsync(revenue, false); } var insert = await _revenueTransServices.SaveAsync(); return(RedirectToAction(nameof(List))); }
public IActionResult Add() { LoadDataView(); var data = new BankTrans(); return(View(data)); }
public async Task <IActionResult> Add([Bind("BankTransId,AccountBankId,Description,CreateDate,DueDate,MidleDesc,ExpenseTransId,RevenueTransId,Total,Signal,BusinessEntityId,ChartAccountId")] BankTrans bankTrans, bool continueAdd) { if (ModelState.IsValid) { await _bankTransServices.AddAsync(bankTrans); return(continueAdd ? RedirectToAction(nameof(Add)) : RedirectToAction(nameof(List))); } LoadDataView(); return(View(bankTrans)); }
public async Task <IActionResult> Delete(BankTrans bankTrans) { await _bankTransServices.DeleteAsync(bankTrans); return(RedirectToAction(nameof(List))); }
public async Task <IActionResult> Edit(int id, [Bind("BankTransId,AccountBankId,Description,CreateDate,DueDate,MidleDesc,ExpenseTransId,RevenueTransId,Total,Signal,BusinessEntityId,ChartAccountId")] BankTrans bankTrans, bool continueAdd, bool addTrash) { if (id != bankTrans.BankTransId) { return(NotFound()); } typeof(BankTrans).GetProperty("Deleted").SetValue(bankTrans, addTrash); BankTrans originalValue = await _bankTransServices.SingleOrDefaultAsync(a => a.BankTransId == id); LoadDataView(); if (ModelState.IsValid) { bankTrans.Total = originalValue.Total; await _bankTransServices.UpdateAsync(bankTrans, false); if (addTrash) { BankTrans reversal = new BankTrans() { AccountBankId = bankTrans.AccountBankId, BusinessEntityId = bankTrans.BusinessEntityId, ChartAccountId = bankTrans.ChartAccountId, CreateDate = bankTrans.CreateDate, Deleted = false, Description = bankTrans.Description, DueDate = bankTrans.DueDate, ExcludeId = id, Total = bankTrans.Total, MidleDesc = "EST:" + bankTrans.BankTransId.ToString(), Signal = bankTrans.Signal == 1 ? 2 : 1 }; if (bankTrans.RevenueTransId.HasValue) { var revenueTransLanc = await _revenueTransServices.SingleOrDefaultAsync(a => a.RevenueTransId == bankTrans.RevenueTransId); var revenue = await _revenueServices.SingleOrDefaultAsync(a => a.RevenueId == revenueTransLanc.RevenueId); reversal.MidleDesc = "EST:" + revenue.RevenueNumber + "/" + revenue.RevenueSeq.ToString(); RevenueTrans reversalrevenueTrans = new RevenueTrans() { AccountBankId = revenueTransLanc.AccountBankId, BusinessEntityId = revenueTransLanc.BusinessEntityId, CreateDate = revenueTransLanc.CreateDate, Description = revenueTransLanc.Description, Midledesc = "EST:" + revenue.RevenueNumber + "/" + revenue.RevenueSeq.ToString(), ConditionId = revenueTransLanc.ConditionId, RevenueId = revenueTransLanc.RevenueId, Signal = revenueTransLanc.Signal == 3 ? 3 : revenueTransLanc.Signal == 1 ? 2 : 1, Total = revenueTransLanc.Total }; await _revenueTransServices.AddAsync(reversalrevenueTrans, false); if (revenue.DuePayment.HasValue) { revenue.DuePayment = null; await _revenueServices.UpdateAsync(revenue, false); } } if (bankTrans.ExpenseTransId.HasValue) { var expenseTransLanc = await _expenseTransServices.SingleOrDefaultAsync(a => a.ExpenseTransId == bankTrans.ExpenseTransId); var expense = await _expenseServices.SingleOrDefaultAsync(a => a.ExpenseId == expenseTransLanc.ExpenseId); reversal.MidleDesc = "EST:" + expense.ExpenseNumber + "/" + expense.ExpenseSeq.ToString(); ExpenseTrans reversalexpenseTransLanc = new ExpenseTrans() { AccountBankId = expenseTransLanc.AccountBankId, BusinessEntityId = expenseTransLanc.BusinessEntityId, CreateDate = expenseTransLanc.CreateDate, Description = expenseTransLanc.Description, Midledesc = "EST:" + expense.ExpenseNumber + "/" + expense.ExpenseSeq.ToString(), ConditionId = expenseTransLanc.ConditionId, ExpenseId = expenseTransLanc.ExpenseId, Signal = expenseTransLanc.Signal == 3 ? 3 : expenseTransLanc.Signal == 1 ? 2 : 1, Total = expenseTransLanc.Total }; await _expenseTransServices.AddAsync(reversalexpenseTransLanc, false); if (expense.DuePayment.HasValue) { expense.DuePayment = null; await _expenseServices.UpdateAsync(expense, false); } } await _bankTransServices.AddAsync(reversal, false); } try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } return(continueAdd ? RedirectToAction(nameof(Edit), new { id = bankTrans.BankTransId }) : RedirectToAction(nameof(List))); } return(View(bankTrans)); }