Example #1
0
        public async Task <IActionResult> Details(LanguageDetailViewModel formData)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    await _languageServices.UpdateLanguageAsync(new Language
                    {
                        DateTimeModified   = DateTimeOffset.Now,
                        EmployeeId         = formData.EmployeeId,
                        WrittenProficiency = formData.WrittenProficiency,
                        SpeechProficiency  = formData.SpeechProficiency,
                        ReadProficiency    = formData.ReadProficiency,
                        UserAccount        = User.Identity.Name,
                        Id = formData.Id
                    });

                    TempData["Message"] = "Changes saved successfully";
                    _logger.LogInformation($"Successfully updated employee language {formData.SpeechProficiency + ' ' + formData.WrittenProficiency} record by user={@User.Identity.Name.Substring(4)}");
                    return(RedirectToAction("details", new { id = formData.Id }));
                }
            }
            catch (ApplicationException error)
            {
                _logger.LogError(
                    error,
                    $"FAIL: failed to update employee language details {formData.EmployeeId}. Internal Application Error.; user={@User.Identity.Name.Substring(4)}");
                ModelState.AddModelError("Language", $"Failed to update employee language record {formData.SpeechProficiency + ' ' + formData.WrittenProficiency}. Contact IT ServiceDesk for support thank you.");
            }
            await LoadSelectListsAsync();

            return(View(formData));
        }
        public LanguageDetailViewModelTests()
        {
            eventAggregatorMock       = new Mock <IEventAggregator>();
            metroDialogServiceMock    = new Mock <IMetroDialogService>();
            languagesRepoMock         = new Mock <IRepository <Language> >();
            languageLookupServiceMock = new Mock <ILanguageLookupDataService>();

            viewModel = new LanguageDetailViewModel(eventAggregatorMock.Object,
                                                    metroDialogServiceMock.Object,
                                                    languagesRepoMock.Object,
                                                    languageLookupServiceMock.Object);
        }
        public async Task <LanguageDetailViewModel> GetInfo(string id, bool isReadOnly = false)
        {
            var language = await _languageRepository.GetAsync(isReadOnly, x => x.Id == id);

            var result = new LanguageDetailViewModel()
            {
                Id          = language.Id,
                Name        = language.Name,
                Description = language.Description,
                IsActive    = language.IsActive
            };

            return(result);
        }
        public LanguageDetailViewModelTests()
        {
            var eventAggregatorMock       = new Mock <IEventAggregator>();
            var loggerMock                = new Mock <ILogger>();
            var languageLookupServiceMock = new Mock <ILanguageLookupDataService>();
            var languageRepoMock          = new Mock <IRepository <Language> >();
            var domainService             = new LanguageService(languageRepoMock.Object);
            var dialogService             = new DialogService();

            viewModel = new LanguageDetailViewModel(eventAggregatorMock.Object,
                                                    loggerMock.Object,
                                                    domainService,
                                                    languageLookupServiceMock.Object,
                                                    dialogService);
        }
Example #5
0
        public IActionResult Index(int page = 0, string langCode = "")
        {
            LanguageDetailViewModel   viewModel   = new LanguageDetailViewModel();
            LanguageDetailFilterInput filterInput = GetFilterInSession <LanguageDetailFilterInput>(ConstantConfig.SessionName.LanguageDetailSession);

            filterInput.PageNumber = page;
            filterInput.LangCode   = langCode;

            viewModel.PagingResult = languageDetailService.GetAllByPaging(filterInput);
            viewModel.LangCode     = langCode;
            viewModel.FilterInput  = filterInput;
            ViewData["langCode"]   = langCode;
            SetFilterToSession(ConstantConfig.SessionName.LanguageDetailSession, filterInput);
            InitAdminBaseViewModel(viewModel);
            return(View(viewModel));
        }
Example #6
0
        public async Task <IActionResult> Details(Guid id)
        {
            _logger.LogInformation($"Initializing the Edit Employee Language Action, user={@User.Identity.Name.Substring(4)}");
            var languageQuery = await _languageServices.GetLanguageById(id);

            if (languageQuery == null)
            {
                return(NotFound());
            }
            var model = new LanguageDetailViewModel
            {
                Id = languageQuery.Id,
                WrittenProficiency = languageQuery.WrittenProficiency,
                SpeechProficiency  = languageQuery.SpeechProficiency,
                ReadProficiency    = languageQuery.ReadProficiency,
                EmployeeId         = languageQuery.EmployeeId ?? Guid.Empty
            };

            await LoadSelectListsAsync();

            return(View(model));
        }