public async Task <IActionResult> NewLanguage(NewLanguageViewModel model)
        {
            if (ModelState.IsValid)
            {
                var result = new Language {
                    Name = model.Name, Code = model.Code
                };
                _context.Add(result);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Languages"));
            }

            return(View(model));
        }
Esempio n. 2
0
        public async Task <IActionResult> Add(NewLanguageViewModel formData)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    bool bIfExist = false;
                    var  q        = from c in _db.Languages where c.EmployeeId == formData.EmployeeId select c;
                    try
                    {
                        q.ToList()[0].EmployeeId.ToString();
                        bIfExist = true;
                    }
                    catch { }
                    if (bIfExist == true)
                    {
                        ModelState.AddModelError("Langugae", $"Can not register duplicate record. { formData.EmployeeId} is already registered with language details");
                    }
                    else
                    {
                        await _languageServices.AddLanguageAsync(new Language
                        {
                            EmployeeId         = formData.EmployeeId ?? Guid.Empty,
                            WrittenProficiency = formData.WrittenProficiency,
                            SpeechProficiency  = formData.SpeechProficiency,
                            ReadProficiency    = formData.ReadProficiency,
                            DateTimeAdded      = DateTimeOffset.Now,
                            DateTimeModified   = DateTimeOffset.Now,
                            UserAccount        = User.Identity.Name
                        });

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

            return(View(formData));
        }