public async Task <IActionResult> Post([FromBody] Organization value) { if (value == null) { ModelState.AddModelError("Save", "No data passed"); return(BadRequest(ModelState)); } Guid entityId = Guid.NewGuid(); if (value.Id == null || value.Id.HasValue || value.Id.Equals(Guid.Empty)) { value.Id = entityId; } try { if (SecurityContext == null) { ModelState.AddModelError("Add", "Create organization failed. Logged in user no longer exists in system."); return(BadRequest(ModelState)); } //same name organization check var existingOrg = repository.Find(null, o => o.Name.Trim().ToLower() == value.Name.Trim().ToLower()).Items?.FirstOrDefault(); if (existingOrg != null) { ModelState.AddModelError("Add", "Organization name already exists. cannot add duplicate."); return(BadRequest(ModelState)); } var newOrganization = organizationManager.AddNewOrganization(value); return(Ok(newOrganization)); } catch (Exception ex) { return(ex.GetActionResult()); } }