public Result Handle(AddGirlScoutCommand command) { var repository = new TroopRepository(_unitOfWork); var troop = repository.GetTroop(command.TroopId); if (troop == null) { return(Result.Fail($"No troop with Id: {command.TroopId}")); } var girlScout = new GirlScout { FirstName = command.FirstName, LastName = command.LastName, Inventory = new GirlScoutCookieInventory(), ParentFirstName = command.ParentFirstName, ParentLastName = command.ParentLastName, PhoneNumber = command.PhoneNumber }; troop.AddGirlScout(girlScout); _unitOfWork.Commit(); return(Result.Ok()); }
public TroopDto Handle(GetTroopQuery query) { var repository = new TroopRepository(_unitOfWork); var troop = repository.GetTroop(query.Id); return(new TroopDto { Id = troop.Id, GirlScouts = troop.GirlScouts.Select(g => new GirlScoutDto { FirstName = g.FirstName, LastName = g.LastName, ParentFirstName = g.ParentFirstName, ParentLastName = g.ParentLastName, PhoneNumber = g.PhoneNumber, Inventory = CreateInventoryDto(g.Inventory) }).ToList(), Name = troop.Name, Inventory = CreateInventoryDto(troop.Inventory) }); }