// GET: TrialBalance public ActionResult Index() { var unitOfWork = new UnitOfWork(); var accountService = new AccountService(unitOfWork); var incomeService = new IncomeService(unitOfWork); var incomeDetailService = new IncomeDetailService(unitOfWork); var trialBalanceList = new List <TrialBalanceViewModel>(); foreach (var income in incomeService.GetAll()) { var payment = accountService.Find(income.PaymentAccountId); var incomeDetails = incomeDetailService.Filter(o => o.IncomeId == income.Id).ToList(); var amount = incomeDetails.Sum(o => o.Price); trialBalanceList = CheckExistingAccount(trialBalanceList, amount, payment, true); foreach (var incomeDetail in incomeDetails) { var incomeAccount = accountService.Find(incomeDetail.IncomeAccountId); trialBalanceList = CheckExistingAccount(trialBalanceList, incomeDetail.Price, incomeAccount, false); } } return(View(trialBalanceList.OrderBy(o => o.AccountNo))); }
public override ActionResult Edit(IncomeViewModel viewModel) { Income entity = AssignViewModelToEntity(viewModel); var businessId = User.Identity.GetBusinessId(); if (businessId != null) { entity.BusinessId = businessId.Value; } //delete existing income detail var incomeDetailService = new IncomeDetailService(UnitOfWork); incomeDetailService.Filter(o => o.IncomeId == viewModel.Id) .ForEach(o => incomeDetailService.Delete(o.Id)); //incomeDetailService.Save(); foreach (var incomeDetail in viewModel.IncomeDetails) { var detail = new IncomeDetail { BusinessId = (Guid)businessId, IncomeId = entity.Id, IncomeAccountId = incomeDetail.IncomeAccountId, Description = incomeDetail.Description, Quantity = incomeDetail.Quantity, Price = incomeDetail.Price, SalesTaxId = incomeDetail.SalesTaxId }; incomeDetailService.Insert(detail); } //incomeDetailService.Save(); //var actionExceptionHelper = new ActionResultHelper<TEntity>(typeof(TViewModel)); //actionExceptionHelper.Method += Update; Update(entity); //var result = Validate(entity, _CleanUpControllerName(), "Edit"); //if (!result.Passed) // _EditReturnPartialViewOnError(viewModel); //var actionResultMessage = actionExceptionHelper.Process(entity, ModelState, CrudTransactionResultConstant.Update); //var actionResultMessage = actionExceptionHelper.Process(entity, ModelState, _setting.GetMessage(SystemMessageConstant.RecordUpdated)); //return Json(actionResultMessage, JsonRequestBehavior.AllowGet); //return actionResultMessage.ActionStatus == ActionStatusResult.Failed // ? _EditReturnPartialViewOnError(viewModel) // : Json(actionResultMessage, JsonRequestBehavior.AllowGet); return(RedirectToAction("Index")); }
protected override IncomeViewModel AssignEntityToViewModel(Income entity) { var incomeService = new IncomeService(UnitOfWork); var incomeDetailService = new IncomeDetailService(UnitOfWork); IncomeViewModel viewModel = entity.Convert <Income, IncomeViewModel>(); viewModel.Status = incomeService.GetStatus(viewModel.Id); var incomeDetails = incomeDetailService.Filter(o => o.IncomeId == entity.Id); if (incomeDetails != null) { viewModel.IncomeDetails = incomeDetails.Select(o => o.Convert <IncomeDetail, IncomeDetailViewModel>()).ToList(); viewModel.Details = string.Join(", ", incomeDetails.Select(o => o.Description)); viewModel.Amount = incomeDetails.Sum(o => o.Price * o.Quantity); } return(viewModel); }
public override ActionResult Create(IncomeViewModel viewModel) { if (!ModelState.IsValid) { return(View(SetViewModelData(viewModel))); } Income entity = AssignViewModelToEntity(viewModel); //var helper = new ActionResultHelper<TEntity>(typeof(TViewModel)); //helper.Method += Add; var businessId = User.Identity.GetBusinessId(); if (businessId != null) { entity.BusinessId = businessId.Value; } Add(entity); var incomeDetailService = new IncomeDetailService(UnitOfWork); foreach (var incomeDetail in viewModel.IncomeDetails) { var detail = new IncomeDetail { BusinessId = (Guid)businessId, IncomeId = entity.Id, IncomeAccountId = incomeDetail.IncomeAccountId, Description = incomeDetail.Description, Quantity = incomeDetail.Quantity, Price = incomeDetail.Price, SalesTaxId = incomeDetail.SalesTaxId }; incomeDetailService.Insert(detail); } incomeDetailService.Save(); return(RedirectToAction("Index")); }
public IncomeDetailController() { _incomeDetailService = new IncomeDetailService(); }