示例#1
0
        public async Task <ActionResult> Edit(int weekid, string originUrl, int expenseItemId)
        {
            var jobs = await _jobsService.GetAsync(await _sessionAdapter.EmployeeIdAsync());

            var expense = await _expenseService.GetExpenseById(expenseItemId);

            var vm = new EditExpenseViewModel()
            {
                AvailableJobs = jobs.ToList(),
                ExpenseToSave = new ExpenseModel()
                {
                    AddtionalNotes = expense.AddtionalNotes,
                    Amount         = expense.Amount,
                    AttachmentName = expense.AttatchmentName,
                    Classification = expense.Classification,
                    RelatedJob     = expense.RelatedJob,
                    SaveDate       = expense.SaveDate
                },
                Week          = WeekDTO.CreateForWeekId(weekid),
                CancelUrl     = originUrl,
                WeekId        = weekid,
                SelectedJobId = expense.RelatedJob.JobId,
                ExpenseItemId = expense.ExpenseItemId
            };

            return(View("Edit", vm));
        }
示例#2
0
        public async Task <ActionResult> Edit(EditExpenseViewModel vm, string postType)
        {
            if (postType == "Delete")
            {
                var deleted = await _expenseService.DeleteExpense(vm.ExpenseItemId);

                if (deleted != null)
                {
                    System.IO.File.Delete(Path.Combine(_uploadLocationResolver.GetUploadPath(), deleted.AttachmentId.Value.ToString()));
                }
            }
            else
            {
                var existing = await _expenseService.GetExpenseById(vm.ExpenseItemId);

                var job = await _jobsService.GetForJobId(vm.SelectedJobId);

                await _expenseService.SaveExpensesForEmployee(new ExpenseDTO()
                {
                    AddtionalNotes  = vm.ExpenseToSave.AddtionalNotes,
                    Amount          = vm.ExpenseToSave.Amount,
                    AttachmentId    = vm.AttachmentId,
                    AttatchmentName = vm.ExpenseToSave.AttachmentName,
                    Classification  = vm.ExpenseToSave.Classification,
                    EmployeeId      = await _sessionAdapter.EmployeeIdAsync(),
                    RelatedJob      = job.CoreInfo,
                    SaveDate        = DateTimeOffset.UtcNow,
                    WeekId          = vm.WeekId,
                    ExpenseItemId   = vm.ExpenseItemId
                });
            }



            var jobDetails = await _jobsService.GetForJobId(vm.SelectedJobId);

            Notifications.NotificationsController.AddNotification(User.Identity.Name, $"{vm.ExpenseToSave.AttachmentName} was saved.");
            return(Redirect(vm.CancelUrl));
        }