public async Task <IActionResult> CreateExpenditure( [FromBody] EditableArcFlashLabelExpenditure toCreate, [FromRoute(Name = "week-id")] int weekId, [FromRoute(Name = "employee-id")] int employeeId, [FromRoute(Name = "job-id")] int jobId) { var rez = await _updateArcFlashLabelExpenditure.Process(new UpdateArcFlashLabelExpenditureMessage(toCreate, Guid.Empty)); return(rez.AsApiResult()); }
public async Task <IActionResult> SaveExpense([FromForm] ExpenseViewModel model) { var saved = false; switch (model.ExpenseType) { case ExpenditureTypeEnum.ArcFlashLabelExpenditure: var afl = await updateArcFlashLabelExpenditure.Process(new UpdateArcFlashLabelExpenditureMessage(model.ArcFlashLabelExpenditure.Detail, model.ArcFlashLabelExpenditure.Detail.Id)); saved = afl.Success != null; break; case ExpenditureTypeEnum.MiscExpenditure: var misc = await updateMiscExpenditure.Process(new UpdateMiscExpenditureMessage(model.MiscExpenditure.Detail, model.MiscExpenditure.Detail.Id)); saved = misc.Success != null; break; case ExpenditureTypeEnum.ContractorExpenditure: var ce = await updateContractorExpenditure.Process(new UpdateContractorMessage(model.ContractorExpenditure.Detail, model.ContractorExpenditure.Detail.ExternalId)); saved = ce.Success != null; break; case ExpenditureTypeEnum.TimeAndExpenceExpenditure: var te = await updateTimeAndExpenseExpenditure.Process(new UpdateTimeAndExpenseExpenditureMessage(model.TimeAndExpenceExpenditure.Detail, model.TimeAndExpenceExpenditure.Detail.Id)); saved = te.Success != null; break; case ExpenditureTypeEnum.CompanyVehicleExpenditure: var cv = await updateCompanyVehicleExpenditure.Process(new UpdateCompanyVehicleExpenditureMessage(model.CompanyVehicleExpenditure.Detail, model.CompanyVehicleExpenditure.Detail.ExternalId)); saved = cv.Success != null; break; default: throw new NotImplementedException(); } if (saved) { NotificationsController.AddNotification(this.User.SafeUserName(), $"Expenditure Saved"); } return(RedirectToAction(nameof(ExpenseList))); }