public IActionResult Create([FromBody] DataFromPage data) { if (accountsRepository.IsAccountInSystem(data.accountName) == false) { return(StatusCode((int)HttpStatusCode.NotFound)); } if (contactsRepository.IsContactInSystem(data.contactEmail)) { Contact updatedContact = contactsRepository.GetContactByEmail(data.contactEmail); Account updatedAccount = accountsRepository.GetAccountByName(data.accountName); updatedContact.FirstName = data.contactFirstName; updatedContact.LastName = data.contactLastName; updatedContact.Email = data.contactEmail; updatedAccount.ContactId = updatedContact.Id; contactsRepository.UpdateContact(updatedContact); accountsRepository.UpdateAccount(updatedAccount); } else { Contact newContact = new Contact { FirstName = data.contactFirstName, LastName = data.contactLastName, Email = data.contactEmail }; Account updatedAccount = accountsRepository.GetAccountByName(data.accountName); updatedAccount.ContactId = newContact.Id; contactsRepository.CreateContact(newContact); accountsRepository.UpdateAccount(updatedAccount); } Incident newIncident = new Incident { Description = data.incidentDescription, AccountName = data.accountName }; incidentsRepository.CreateIncident(newIncident); return(Ok()); }