private async Task AddSalaryArchive(int?id) { var orderCarWorkers = await _orderCarWashWorkers.SelectMonth(id, DateTime.Now.AddMonths(-1).Month, DateTime.Now.Year); var salaryExpenses = await _salaryExpenses.PayrollExpensesPerMonth(id, DateTime.Now.AddMonths(-1).Month, DateTime.Now.Year); SalaryArchiveBll salaryArchive = new SalaryArchiveBll(); salaryArchive.carWashWorkersId = id.Value; salaryArchive.date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(0).AddDays(-1); salaryArchive.amountOfCompletedOrders = orderCarWorkers.Count(); salaryArchive.monthlySalaryAmountEarned = orderCarWorkers.Sum(x => x.Payroll); salaryArchive.monthlySalaryAmountReceived = salaryExpenses.Sum(x => x.Expenses.Amount); salaryArchive.balanceAtTheEndOfTheMonth = (salaryArchive.monthlySalaryAmountReceived - salaryArchive.monthlySalaryAmountEarned); if (salaryArchive.balanceAtTheEndOfTheMonth == 0) { salaryArchive.salaryStatus = true; } else { salaryArchive.salaryStatus = false; } await _salaryArchive.Insert(salaryArchive); }
public async Task <ActionResult> Edit([Bind(Include = "idSalaryArchive,carWashWorkersId,date,amountOfCompletedOrders,monthlySalaryAmountEarned,monthlySalaryAmountReceived,balanceAtTheEndOfTheMonth,salaryStatus")] SalaryArchiveView salaryArchiveView) { if (ModelState.IsValid) { SalaryArchiveBll salaryArchive = Mapper.Map <SalaryArchiveView, SalaryArchiveBll>(salaryArchiveView); await _salaryArchive.Update(salaryArchive); return(RedirectToAction("Index")); } //ViewBag.carWashWorkersId = new SelectList(db.CarWashWorkersViews, "id", "Name", salaryArchiveView.carWashWorkersId); return(View(salaryArchiveView)); }
public async Task Insert(SalaryArchiveBll element) { _unitOfWork.salaryArchiveUnitOfWork.Insert(TransformAnEntity(element)); await _unitOfWork.Save(); }
public salaryArchive TransformAnEntity(SalaryArchiveBll entity) => Mapper.Map <SalaryArchiveBll, salaryArchive>(entity);
public async Task Update(SalaryArchiveBll elementToUpdate) { _unitOfWork.salaryArchiveUnitOfWork.Update(TransformAnEntity(elementToUpdate)); await _unitOfWork.Save(); }