public ActionResult EditExpenditure(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } LoadDropdowns(); DomainModel.BusinessLayer.Expense exptrans = new DomainModel.BusinessLayer.Expense(); var qryExpTrans = exptrans.GetExpenseTrans(Convert.ToInt32(id), Convert.ToInt32(UserDetails.Current.SchoolId)); var trans = new ExpenseTrans(); trans.id = qryExpTrans.id; trans.expense_type_id = qryExpTrans.expense_type_id; trans.expense_date = qryExpTrans.expense_date; trans.mode_of_payment = qryExpTrans.mode_of_payment; trans.cheque_dd_no = qryExpTrans.cheque_dd_no; trans.remarks = qryExpTrans.remarks; trans.amount = qryExpTrans.amount; trans.issue_bank = qryExpTrans.issue_bank; List <string> qryExpAtt = new List <string>(); qryExpAtt = exptrans.GetAttachment(Convert.ToInt32(id)); String strAttachment = ""; foreach (var item in qryExpAtt) { strAttachment = strAttachment + item.ToString() + ","; } if (strAttachment != "") { ViewBag.attachment = strAttachment; } return(View(trans)); }
public async Task <IActionResult> PayAccount([Bind("ExpenseId,DueDate,AccountBankId,ConditionId,Payment,Tax,Discont,Comment,Active,Image")] PayAccount data, bool Active, List <IFormFile> Image) { Expense expense = await _expenseServices.SingleOrDefaultAsync(a => a.ExpenseId == data.ExpenseId); if (data.Payment.HasValue) { ExpenseTrans expenseTrans = _financialExtension.GetExpenseTrans(data, _BusinessId, "PAG", expense.DueDate.HasValue ? 2 : 3); BankTrans bankTrans = _financialExtension.GetBankTrans(data, expenseTrans, _BusinessId, expense.ChartAccountId); //await _expenseTransServices.AddAsyncNoSave(expense); await _bankTransServices.AddAsync(bankTrans, false); } if (data.Tax.HasValue) { ExpenseTrans expenseTrans = _financialExtension.GetExpenseTrans(data, _BusinessId, "JUR", 1); await _expenseTransServices.AddAsync(expenseTrans, false); } if (data.Discont.HasValue) { ExpenseTrans expenseTrans = _financialExtension.GetExpenseTrans(data, _BusinessId, "DIS", 2); await _expenseTransServices.AddAsync(expenseTrans, false); } if (data.Active) { expense.DuePayment = data.DueDate; await _expenseServices.UpdateAsync(expense, false); } var insert = await _expenseTransServices.SaveAsync(); return(RedirectToAction(nameof(List))); }
public async Task <IActionResult> Add([Bind("ExpenseId,ExpenseNumber,ExpenseSeq,ExpenseTotalSeq,Name,PersonId,ChartAccountId,CostCenterId,ConditionId,Total,CreateDate,DueDate,DuePayment,Comment,ModifiedDate,Deleted,BusinessEntityId,Id,Seq,Session,Total")] Expense expense, bool continueAdd, IEnumerable <TempFinancialSplit> parcelas) { if (ModelState.IsValid) { int _next = (_expenseServices.Query().Max(p => (int?)p.ExpenseId) ?? 0) + 1; expense.ExpenseNumber = string.IsNullOrEmpty(expense.ExpenseNumber) ? expense.Name.ToString().ToString().Truncate(3, false).ToUpper() + _next.ToString() : expense.ExpenseNumber; expense.BusinessEntityId = _BusinessId; if (parcelas.Any()) { foreach (var item in parcelas) { Expense newexpense = _financialExtension.GetExpense(expense, _BusinessId, item); //await _revenueServices.AddAsync(revenueParc); ExpenseTrans expenseTrans = _financialExtension.GetExpenseTrans(newexpense, _BusinessId); await _expenseTransServices.AddAsync(expenseTrans); } } else { if (expense.ExpenseTotalSeq > 1) { var parcelamento = _financialExtension.GenerateSplitPay(expense.ExpenseTotalSeq.Value, expense.Total, expense.DueDate, _currentUser); foreach (var item in parcelamento) { Expense newexpense = _financialExtension.GetExpense(expense, _BusinessId, item); newexpense.ExpenseSeq = item.Seq; newexpense.DueDate = item.DueDate; expense.Total = item.Total.Value; ExpenseTrans expenseTrans = _financialExtension.GetExpenseTrans(newexpense, _BusinessId); //await _revenueServices.AddAsync(revenueParc); await _expenseTransServices.AddAsync(expenseTrans); } } else { expense.ExpenseSeq = 1; expense.ExpenseTotalSeq = 1; ExpenseTrans trans = _financialExtension.GetExpenseTrans(expense, _BusinessId); await _expenseTransServices.AddAsync(trans); //await _revenueServices.AddAsync(revenue); } } return(continueAdd ? RedirectToAction(nameof(Add)) : RedirectToAction(nameof(List))); } LoadViewData(); return(View(expense)); }
public BankTrans GetBankTrans(PayAccount data, ExpenseTrans expense, int businessId, int?categorId) { return(new BankTrans() { Bank = expense.Bank, AccountBankId = expense.AccountBankId.Value, CreateDate = System.DateTime.UtcNow, DueDate = data.DueDate, BusinessEntityId = businessId, Description = data.Comment, MidleDesc = expense.Midledesc, ChartAccountId = categorId, Signal = 2, Total = expense.Total, Deleted = false, ExpenseTrans = expense }); }
public ActionResult EditExpenditure(HttpPostedFileBase vocher, HttpPostedFileBase vocher2, [Bind(Include = "id,expense_type_id,amount,remarks,expense_date,mode_of_payment,cheque_dd_no,issue_bank")] ExpenseTrans Exp) { try { if (ModelState.IsValid) { LoadDropdowns(); HttpPostedFileBase voch1 = Request.Files["vocher"]; HttpPostedFileBase voch2 = Request.Files["vocher2"]; DomainModel.BusinessLayer.Expense exptrans = new DomainModel.BusinessLayer.Expense(); exptrans.id = Exp.id; exptrans.amount = Exp.amount; exptrans.entered_by = Exp.entered_by; exptrans.expense_date = Exp.expense_date; exptrans.expense_type_id = Exp.expense_type_id; exptrans.idSchool = UserDetails.Current.SchoolId; exptrans.last_updated_by = UserDetails.Current.Iduser; exptrans.remarks = Exp.remarks; exptrans.mode_of_payment = Exp.mode_of_payment; exptrans.cheque_dd_no = Exp.cheque_dd_no; exptrans.issue_bank = Exp.issue_bank; int Exptransid = exptrans.SaveExpense(exptrans); if (Exptransid > 0) { string TempFolder = "/Uploads"; var serverPath = HttpContext.Server.MapPath(TempFolder); if (Directory.Exists(serverPath) == false) { Directory.CreateDirectory(serverPath); } if (voch1.FileName != "") { var fileext = Path.GetExtension(voch1.FileName); var fileName = String.Concat("Fin_Voch1_", Exptransid, fileext); var fullFileName = Path.Combine(serverPath, fileName); voch1.SaveAs(fullFileName); string vochblob = fileName; //Saving files to cloud Strorage.. DomainModel.BusinessLayer.BlobStorage bs = new DomainModel.BusinessLayer.BlobStorage(); Boolean res = false; res = bs.SaveBlob((int)DomainModel.BusinessLayer.BlobStorage.StorageContainer.finance, vochblob, fullFileName); //end System.IO.File.Delete(fullFileName); //Saving Attachments Boolean Attach = exptrans.SaveAttachment(UserDetails.Current.Iduser, Exptransid, "/finance/" + fileName); //end } if (voch2.FileName != "") { var fileext = Path.GetExtension(voch2.FileName); var fileName = String.Concat("Fin_Voch2_", Exptransid, fileext); var fullFileName = Path.Combine(serverPath, fileName); voch2.SaveAs(fullFileName); string vochblob2 = fileName; DomainModel.BusinessLayer.BlobStorage bs = new DomainModel.BusinessLayer.BlobStorage(); Boolean res = false; res = bs.SaveBlob((int)DomainModel.BusinessLayer.BlobStorage.StorageContainer.finance, vochblob2, fullFileName); System.IO.File.Delete(fullFileName); Boolean Attach = exptrans.SaveAttachment(UserDetails.Current.Iduser, Exptransid, "/finance/" + fileName); } } return(RedirectToAction("Expenditure")); } return(View()); } catch { return(View()); } }
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)); }