83 lines
2.7 KiB
C#
83 lines
2.7 KiB
C#
using skydiveLogs_api.Domain;
|
|
using skydiveLogs_api.DomainBusiness.Interfaces;
|
|
using skydiveLogs_api.DomainService.Repositories;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace skydiveLogs_api.DomainBusiness
|
|
{
|
|
public class TunnelFlightService : ITunnelFlightService
|
|
{
|
|
#region Public Constructors
|
|
|
|
public TunnelFlightService(ITunnelFlightRepository tunnelFlightRepository,
|
|
IDropZoneService dropZoneService,
|
|
IIdentityService identityService)
|
|
{
|
|
_dropZoneService = dropZoneService;
|
|
_identityService = identityService;
|
|
_tunnelFlightRepository = tunnelFlightRepository;
|
|
}
|
|
|
|
#endregion Public Constructors
|
|
|
|
#region Public Methods
|
|
|
|
public IEnumerable<TunnelFlight> GetAllTunnelFlights()
|
|
{
|
|
return _tunnelFlightRepository.GetAll(_identityService.ConnectedUser);
|
|
}
|
|
|
|
public TunnelFlight GetTunnelFlightById(int id)
|
|
{
|
|
return _tunnelFlightRepository.GetById(id);
|
|
}
|
|
|
|
public void AddNewFlight(int tunnelId, TunnelFlight newFlight)
|
|
{
|
|
var tmp = _dropZoneService.GetDzById(tunnelId);
|
|
var selectedTunnel = new Tunnel
|
|
{
|
|
Id = tmp.Id,
|
|
Name = tmp.Name,
|
|
Website = tmp.Website,
|
|
Address = tmp.Address,
|
|
Email = tmp.Email,
|
|
Latitude = tmp.Latitude,
|
|
Longitude = tmp.Longitude
|
|
};
|
|
|
|
newFlight.Tunnel = selectedTunnel;
|
|
_tunnelFlightRepository.Add(newFlight);
|
|
}
|
|
|
|
public int GetTunnelFlightCount()
|
|
{
|
|
return _tunnelFlightRepository.GetCount(_identityService.ConnectedUser);
|
|
}
|
|
|
|
public IEnumerable<TunnelFlight> GetTunnelFlightsByIndexes(int beginIndex, int endIndex)
|
|
{
|
|
return _tunnelFlightRepository.GetBetweenIndex(_identityService.ConnectedUser, beginIndex, endIndex);
|
|
}
|
|
|
|
public IEnumerable<TunnelFlight> GetTunnelFlightByDates(string beginDate, string endDate)
|
|
{
|
|
var convertedBeginDate = Convert.ToDateTime(beginDate);
|
|
var convertedEndDate = Convert.ToDateTime(endDate);
|
|
|
|
return _tunnelFlightRepository.GetBetweenDate(_identityService.ConnectedUser, convertedBeginDate, convertedEndDate);
|
|
|
|
}
|
|
|
|
#endregion Public Methods
|
|
|
|
#region Private Fields
|
|
|
|
private readonly IDropZoneService _dropZoneService;
|
|
private readonly ITunnelFlightRepository _tunnelFlightRepository;
|
|
private readonly IIdentityService _identityService;
|
|
|
|
#endregion Private Fields
|
|
}
|
|
} |