示例#1
0
 public void Clear()
 {
     Username = "";
     start    = DateTime.Now.AddYears(-1);
     end      = DateTime.Now;
     Report   = new CheckInInfoExpanded();
 }
示例#2
0
        public CheckInInfoExpanded GetReport(DateTime start, DateTime end)
        {
            end = end.AddDays(1).AddSeconds(-1);
            CheckInInfoExpanded checkInInfo = new CheckInInfoExpanded();
            var checksIn = db.ChecksIn.GetList().Where(i => i.EndDate >= start && i.EndDate <= end);

            foreach (CheckIn checkIn in checksIn)
            {
                checkInInfo.TotalRoomRevenue    += checkIn.RoomCost;
                checkInInfo.TotalServiceRevenue += checkIn.ServicesCost;
            }
            checkInInfo.Info = (from ci in db.ChecksIn.GetList()
                                join g in db.Rooms.GetList() on ci.RoomId equals g.RoomId
                                join ac in db.Accounts.GetList() on ci.LastEmployeeId equals ac.AccountId
                                join m in db.Modifiers.GetList() on ac.ModifierId equals m.ModifierId
                                where ci.EndDate >= start && ci.EndDate <= end
                                select new CheckInInfo()
            {
                Id = ci.CheckInId,
                Dates = "Н.: " + ci.StartDate.ToString("dd.MM.yyyy") + "\nК.: " + ci.EndDate.ToString("dd.MM.yyyy"),
                Room = g.RoomNumber,
                LastEmployee = ac.Surname.TrimEnd(' ') + " " + ac.Username[0] + ". " + ac.Patronymic[0] + ". [id: " + ac.AccountId + "]",
                Prices = "Комната: " + ci.RoomCost + "\n" +
                         "Доп. услуги: " + ci.ServicesCost + "\n" +
                         "Всего: " + (ci.ServicesCost + ci.RoomCost)
            }).ToList();
            foreach (CheckInInfo info in checkInInfo.Info)
            {
                List <string> guests = (from g in db.Guests.GetList()
                                        join c in db.CheckInGuests.GetList() on g.GuestId equals c.GuestID
                                        where c.CheckInId == info.Id
                                        select g.Surname.TrimEnd(' ') + " " + g.GuestName[0] + ". " + g.Patronymic[0] + ".\n"
                                        ).ToList();
                string guestResult = "";
                foreach (string str in guests)
                {
                    guestResult += str;
                    checkInInfo.GuestNumber++;
                }
                info.Guests = guestResult.TrimEnd('\n');

                List <string> services = (from g in db.Services.GetList()
                                          join c in db.CheckInServices.GetList() on g.ServiceId equals c.ServiceId
                                          where c.CheckInId == info.Id
                                          select g.ServiceName.TrimEnd(' ') + " (" + c.Number + ")" + "\n"
                                          ).ToList();
                string serviceResult = "";
                foreach (string str in services)
                {
                    serviceResult += str;
                }
                info.Services = serviceResult.TrimEnd('\n');
            }



            return(checkInInfo);
        }