public async Task <long> AddOrganizationAsync(User user, AddOrgFormModel orgForm) { try { Organization parent = null; if (orgForm.ParentId != null) { parent = _context.Organizations.FirstOrDefault(c => c.ParentId == orgForm.ParentId); } var isDuplicateOrg = _context.Organizations.Any(c => c.OrganizationName == orgForm.OrganizationName); if (!isDuplicateOrg) { var org = new Organization() { Description = orgForm.Description, OrganizationName = orgForm.OrganizationName, ParentId = orgForm.ParentId }; await _context.Organizations.AddAsync(org); await _context.SaveChangesAsync(); return(org.Id); } throw new ExperienceManagementGlobalException(OrganizationServiceErrors.AddDuplicateOrganizationError); } catch (Exception ex) { throw new ExperienceManagementGlobalException(OrganizationServiceErrors.AddOrganizationError, ex); } }
public async Task <IActionResult> AddOrganization([FromBody] AddOrgFormModel orgForm) { var organizations = await _organizationService.AddOrganizationAsync(HttpContext.GetUser(), orgForm); return(Ok(GetRequestResult(organizations))); }