public async Task <IActionResult> UpdateConfiguration(VendorCodeType vendorCodeType) { if (vendorCodeType == null) { AlertDanger = "Could not create empty vendor code type."; return(RedirectToAction(nameof(Index))); } if (!ModelState.IsValid) { vendorCodeType.DirectEmailTemplates = await _emailManagementService .GetUserTemplatesAsync(); return(View("Configure", vendorCodeType)); } try { var existingVendorCodeType = await _vendorCodeService.GetTypeAllAsync(); if (existingVendorCodeType?.Count > 0) { vendorCodeType.Id = existingVendorCodeType.First().Id; await _vendorCodeService.UpdateTypeAsync(vendorCodeType); } else { await _vendorCodeService.AddTypeAsync(vendorCodeType); } } catch (GraFieldValidationException gex) { foreach (var validationError in gex.FieldValidationErrors) { foreach (var errorMessage in validationError) { ModelState.AddModelError(validationError.Key, errorMessage); } } return(View("Configure", vendorCodeType)); } return(RedirectToAction(nameof(Index))); }