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)); }
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)); }