示例#1
0
        public async Task <int> Create(Marina marina)
        {
            marina.ThrowIfNull();

            await _context.AddAsync(marina);

            return(marina.MarinaId);
        }
示例#2
0
        public Marina Update(Marina marina)
        {
            marina.ThrowIfNull();

            _context.Update(marina);

            return(marina);
        }
示例#3
0
        public Marina UpdateMarinaLocation(Marina marina, Location location)
        {
            marina.ThrowIfNull();
            location.ThrowIfNull();

            _locationService.Update(location);

            return(marina);
        }
示例#4
0
        public async Task <Marina> DeleteMarinaLocation(Marina marina)
        {
            marina = await GetSingle(marina.MarinaId);

            marina.ThrowIfNull();
            marina.LocationId.ThrowIfInvalidId();
            await _locationService.Delete(marina.LocationId);

            return(marina);
        }
示例#5
0
        public async Task <int> CreateLocationForMarina(Marina marina, Location location)
        {
            marina.ThrowIfNull();
            location.ThrowIfNull();
            // Create location for marina and take the Id
            await _locationService.Create(location);

            // Assign location to marina
            marina.Location = location;

            return(marina.MarinaId);
        }
示例#6
0
        public static bool MarinaSpotsHaveLocations(Marina marina)
        {
            marina.ThrowIfNull();
            foreach (Spot spot in marina.Spots)
            {
                if (spot.LocationId.IsValidId())
                {
                    return(true);
                }
            }

            return(false);
        }
示例#7
0
        public async Task <int> CreateWithLocation(Marina marina, Location location)
        {
            marina.ThrowIfNull();
            location.ThrowIfNull();

            // Create location for marina
            await _locationService.Create(location);

            // Create marina
            await Create(marina);

            // Assign location to marina
            marina.Location = location;

            return(marina.MarinaId);
        }