public async Task <ActionResult> Create(AddExpenseViewModel vm) { var uploadId = new Guid?(); if (vm.UploadFile != null) { uploadId = Guid.NewGuid(); var thisItemId = uploadId.ToString(); var dir = _uploadLocationResolver.GetUploadPath(); using (var fs = new FileStream(Path.Combine(dir, thisItemId), FileMode.Create)) { await vm.UploadFile.CopyToAsync(fs); } } var jobDetails = await _jobsService.GetForJobId(vm.SelectedJobId); await _expenseService.SaveExpensesForEmployee(new ExpenseDTO() { AddtionalNotes = vm.ExpenseToSave.AddtionalNotes, Amount = vm.ExpenseToSave.Amount, AttachmentId = uploadId, AttatchmentName = vm.UploadFile != null ? $"{vm.ExpenseToSave.AttachmentName}-{vm.UploadFile.FileName}" : vm.ExpenseToSave.AttachmentName, Classification = vm.ExpenseToSave.Classification, EmployeeId = await _sessionAdapter.EmployeeIdAsync(), RelatedJob = jobDetails.CoreInfo, SaveDate = DateTimeOffset.UtcNow, WeekId = vm.WeekId }); Notifications.NotificationsController.AddNotification(User.Identity.Name, $"{vm.UploadFile.Name} was uploaded."); return(Redirect(vm.CancelUrl)); }
public async Task <ActionResult> Index(int weekid, string originUrl) { var jobs = await _jobsService.GetAsync(await _sessionAdapter.EmployeeIdAsync()); var vm = new AddExpenseViewModel() { AvailableJobs = jobs.ToList(), ExpenseToSave = new ExpenseModel(), Week = WeekDTO.CreateForWeekId(weekid), CancelUrl = originUrl, WeekId = weekid, }; return(View("New", vm)); }