public ActionResult VisitorCountReport(VisitorCountReportModel model)
        {
            var sql =
                "select min(ht.Title) as HotelTitle, Count(*) as Count from Reservations rs join Rooms rm on rs.RoomId = rm.Id join Hotels ht on ht.Id = rm.HotelId where rs.ArrivalDate < '{0}' and rs.DepartureDate > '{0}' or rs.ArrivalDate < '{1}' and rs.DepartureDate > '{1}' or rs.ArrivalDate >= '{0}' and rs.DepartureDate <= '{1}' group by ht.Id;";

            var from = DateTime.Parse(model.From);
            var to = DateTime.Parse(model.To);

            var formatSql = string.Format(sql, from.ToString("yyyy-MM-dd HH:mm:ss"), to.ToString("yyyy-MM-dd HH:mm:ss"));
            var items = db.Database.SqlQuery<VisitorCountItemModel>(formatSql).ToList();
            return View(items);
        }
Exemple #2
0
        public ActionResult VisitorCountReport(VisitorCountReportModel model)
        {
            var sql =
                "select min(ht.Title) as HotelTitle, Count(*) as Count from Reservations rs join Rooms rm on rs.RoomId = rm.Id join Hotels ht on ht.Id = rm.HotelId where rs.ArrivalDate < '{0}' and rs.DepartureDate > '{0}' or rs.ArrivalDate < '{1}' and rs.DepartureDate > '{1}' or rs.ArrivalDate >= '{0}' and rs.DepartureDate <= '{1}' group by ht.Id;";

            var from = DateTime.Parse(model.From);
            var to   = DateTime.Parse(model.To);

            var formatSql = string.Format(sql, from.ToString("yyyy-MM-dd HH:mm:ss"), to.ToString("yyyy-MM-dd HH:mm:ss"));
            var items     = db.Database.SqlQuery <VisitorCountItemModel>(formatSql).ToList();

            return(View(items));
        }