Example #1
0
        public async Task <OrganizationDto> CreateOrganizationAsync(OrganizationSpecDto specDto)
        {
            if (specDto == null)
            {
                return(null);
            }

            _log.Info($"Creating new organization \"{specDto.Name}\"...");

            var supportPerson = await _supportPersonOrgTypeDefaultRepository
                                .GetSupportPersonByOrganizationTypeAsync(specDto.TypeId)
                                .ConfigureAwait(false);

            specDto.SupportPersonId = supportPerson.SupportPersonId;

            var contactEmails  = specDto.Contacts.Select(u => u.Email);
            var existingEmails = await GetExistingContactEmailsAsync(contactEmails, default)
                                 .ConfigureAwait(false);

            if (existingEmails.Any())
            {
                ValidationDictionary.AddModelError("Already Existing Emails", string.Join(", ", existingEmails));

                return(null);
            }

            var createdDto = await AddAsync <OrganizationSpecDto>(specDto)
                             .ConfigureAwait(false);

            return(createdDto);
        }
Example #2
0
        public async Task <ActionResult <Guid> > CreateOrganization([FromBody] OrganizationSpecDto specDto)
        {
            var createdDto = await _organizationsService
                             .CreateOrganizationAsync(specDto)
                             .ConfigureAwait(false);

            if (createdDto == null)
            {
                return(BadRequest(new { errors = _organizationsService.ValidationDictionary.GetErrorMessages() }));
            }

            return(Ok(createdDto.Id));
        }