예제 #1
0
        public ViewResult Details(Guid id)
        {
            Client client = _clientsRepository.GetClient(id);
            List <Tuple <Car, Rent> > activerents   = new List <Tuple <Car, Rent> >();
            List <Tuple <Car, Rent> > finishedrents = new List <Tuple <Car, Rent> >();

            foreach (var rent in _rentsRepository.GetAllRentsByClient(id))
            {
                if (rent.IsFinished == true)
                {
                    Tuple <Car, Rent> tuple = Tuple.Create(_carsRepository.GetCar(rent.CarId), rent);
                    finishedrents.Add(tuple);
                }
                if (rent.IsActive == true && rent.IsFinished == false)
                {
                    Tuple <Car, Rent> tuple = Tuple.Create(_carsRepository.GetCar(rent.CarId), rent);
                    activerents.Add(tuple);
                }
            }
            List <Income>  incomes  = new List <Income>();
            List <Invoice> expenses = new List <Invoice>();

            foreach (var item in _incomesRepository.GetAllByClient(id))
            {
                Income temp = item;
                temp.Invoice = _invoicesRepository.GetInvoice(temp.InvoiceId);
                if (temp.CarId != null)
                {
                    temp.Car = _carsRepository.GetCar(temp.CarId.GetValueOrDefault());
                }
                incomes.Add(temp);
            }
            foreach (var item in _invoicesRepository.GetAllCostByClient(id))
            {
                expenses.Add(item);
            }
            ClientDetailsViewModel model = new ClientDetailsViewModel
            {
                Client        = client,
                ActiveRents   = activerents,
                FinishedRents = finishedrents,
                Incomes       = incomes,
                Expenses      = expenses
            };

            return(View(model));
        }