public ResultViewModel Put([FromBody] EditorBookingViewModel model)
        {
            model.Validate();
            if (model.Invalid)
            {
                return new ResultViewModel
                       {
                           Success = false,
                           Message = "Não foi possível alterar a reserva",
                           Data    = model.Notifications
                       }
            }
            ;

            var booking = _repository.Get(model.Id);

            booking.Title        = model.Title;
            booking.BookingDate  = model.BookingDate;
            booking.Start        = model.Start;
            booking.End          = model.End;
            booking.LivingRoomId = model.LivingRoomId;

            _repository.Update(booking);

            return(new ResultViewModel
            {
                Success = true,
                Message = "Reserva alterada com sucesso!",
                Data = booking
            });
        }
    }
        public ResultViewModel Post([FromBody] EditorBookingViewModel model)
        {
            model.Validate();
            if (model.Invalid)
            {
                return new ResultViewModel
                       {
                           Success = false,
                           Message = "Não foi possível realizar a reserva",
                           Data    = model.Notifications
                       }
            }
            ;

            // Se tiver uma reserva para essa data não reservar
            var filter = _repository.Filter(model.BookingDate, model.Start, model.End, model.LivingRoomId);

            int results = 0;

            foreach (var f in filter)
            {
                results++;
            }
            if (results > 0)
            {
                return(new ResultViewModel
                {
                    Success = false,
                    Message = "Não foi possível realizar a reserva, sala já reservada",
                    Data = filter
                });
            }
            var booking = new Booking();

            booking.Title        = model.Title;
            booking.BookingDate  = model.BookingDate;
            booking.Start        = model.Start;
            booking.End          = model.End;
            booking.LivingRoomId = model.LivingRoomId;

            _repository.Save(booking);

            return(new ResultViewModel
            {
                Success = true,
                Message = "Reserva realizada com sucesso!",
                Data = booking
            });
        }