public ReturnOwner(Petowner owner) { Id = owner.Id; Name = owner.User.FirstName; LastName = owner.User.LastName; Email = owner.User.Email; Email2 = owner.User.Email2; Mobile = owner.User.Mobile; Province = owner.User.Province; Canton = owner.User.Canton; Description = owner.User.Description; DateCreated = owner.User.DateCreated; Pets = owner.Pets.Select(p => new PetDto(p) ).ToList(); Photo = owner.User.Photo; }
public async Task <Tuple <Petowner, string> > CreateOwner(OwnerDto ownerDto) { using (var trans = await _dbContext.Database.BeginTransactionAsync()) { try { var pets = new List <Pet>(); foreach (var pet in ownerDto.Pets) { pets.Add(new Pet { Name = pet.Name, Race = pet.Race, DateCreated = DateTime.UtcNow, Age = pet.Age, Size = pet.Size, Description = pet.Description, Photos = pet.Photos }); } var owner = new Petowner { User = _userService.CreateUser(new Entities.User { Username = ownerDto.Email, Role = Role.Petowner, FirstName = ownerDto.Name, LastName = ownerDto.LastName, Province = ownerDto.Province, Canton = ownerDto.Canton, Email = ownerDto.Email, Email2 = ownerDto.Email2, Mobile = ownerDto.Mobile, DateCreated = DateTime.UtcNow, Description = ownerDto.Description, Photo = ownerDto.Photo }, ownerDto.Password), Pets = pets }; _dbContext.Owners.Add(owner); await _dbContext.SaveChangesAsync(); trans.Commit(); return(new Tuple <Petowner, string>(owner, "success")); } catch (DbUpdateException e) { trans.Rollback(); return(new Tuple <Petowner, string>(null, e.InnerException.Message)); } } }