コード例 #1
0
        public async Task <IActionResult> Create(TimesheetEntryViewModel viewModel)
        {
            User user = await _userRepository.GetByGuid(User.FindFirstValue(ClaimTypes.NameIdentifier));

            viewModel.UserId       = user.Id;
            viewModel.UserFullName = string.Format("{0} {1}", user.FirstName, user.LastName);
            viewModel.ProjectName  = (await _projectRepository.GetById(viewModel.ProjectId)).Name;

            Project project = await _projectRepository.GetById(viewModel.ProjectId);

            Department department = await _departmentRepository.GetById(project.DepartmentOwnerId);

            TimesheetEntry entry = _mapper.ConvertFromViewModel(viewModel, project);

            entry.User = user;

            // Add TimesheetEntry to database
            await _timesheetEntryRepository.Create(entry);

            // Return to Index
            return(RedirectToAction(nameof(Index)));
        }