public async Task <IActionResult> CreatePersonAsync([FromBody] CreatePersonViewModel model) { if (!ModelState.IsValid) { return(Json(new { error = "На форме есть некорректные данные" })); } Organization organization = this.dataManager.FindOrganizationByName(model.OrganizationName); if (organization == null) { organization = new Organization { Name = model.OrganizationName }; await this.dataManager.AddOrganizationAsync(organization); } Position position = this.dataManager.FindPositionByName(model.PositionName); if (position == null) { position = new Position { Name = model.PositionName }; await this.dataManager.AddPositionAsync(position); } Person person = model.GetDomain(organization.Id, position.Id); bool result = await this.dataManager.AddPersonAsync(person); if (result) { return(Ok(new { redirectUrl = Url.Action("Index") })); } else { return(Json(new { error = "Внутренняя ошибка сервера. Не удалось сохранить запись." }));; } }