public async Task <ActionResult <Person> > Create(PersonCreateVm vm) { var person = new Person() { FName = vm.FName, LName = vm.LName, Email = vm.Email, Phone = vm.Phone, CustomerId = vm.CustomerId }; _db.People.Add(person); await _db.SaveChangesAsync(); return(CreatedAtAction(nameof(Get), new { id = person.Id }, person)); }
public ServiceResult <bool> AddPerson(PersonCreateVm model) { model.Validate(); if (model.CityId.HasValue) { var city = _repository.City.GetById(model.CityId.Value); if (city == null) { throw new DomainException("City not found", ExceptionLevel.Error); } } var newPerson = Domain.Models.PersonModels.Person.Create(model.FirstName, model.LastName, model.Gender, model.PrivateNumber, model.BirthDate, model.CityId); _repository.Person.Create(newPerson); newPerson.PhoneNumbers = new List <PhoneNumber>(); foreach (var modelPhoneNumber in model.PhoneNumbers) { var newPhoneNumber = PhoneNumber.Create(newPerson.Id, modelPhoneNumber.NumberType, modelPhoneNumber.Number); newPerson.PhoneNumbers.Add(newPhoneNumber); } _repository.Person.Save(); return(new ServiceResult <bool> { Status = ServiceResultStatus.Success }); }
public IActionResult AddPerson([FromBody] PersonCreateVm model) { var apiResult = Try(() => { return(_personService.AddPerson(model)); }); return(Ok(apiResult)); }