summaryrefslogtreecommitdiffstats
path: root/src/Services/Interfaces/IAppReservationService.cs
blob: cf41480d5c5a41878aac5169640cf274761443f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Threading.Tasks;
using IOL.Fagprove.Data.Models;

namespace IOL.Fagprove.Services.Interfaces
{
    public interface IAppReservationService
    {
        /// <summary>
        /// Check current reservations to determine if provided reservation is possible to make.
        /// </summary>
        /// <param name="reservation">Reservation to check.</param>
        /// <returns>Boolean indicating if the reservation is possible or not</returns>
        bool ReservationIsPossible(Reservation reservation);
        /// <summary>
        /// Sends a status mail to the user that created provided reservation.
        /// The contents of the message is determined by the provided reservation status.
        /// </summary>
        /// <param name="reservation">Reservation to send email on.</param>
        /// <returns>Boolean indicating if the status mail was sent.</returns>
        bool SendReservationStatusMail(Reservation reservation);
        /// <summary>
        /// Determines if the provided reservation is valid and can be saved to db.
        /// </summary>
        /// <param name="reservation">Reservation to check.</param>
        /// <returns>Boolean indicating if the reservation is valid or not.</returns>
        bool ReservationIsValid(Reservation reservation);
    }
}