public List <Rezervasyon> GetReservationList(int rentUserId)
        {
            var list = rentUserId > 0 ? List(i => i.RentUserID == rentUserId) : List();

            if (list.HasElement())
            {
                var carIds  = list.Select(i => i.CarID).Distinct();
                var carList = _carManager.List(car => carIds.Contains(car.Id));

                var rentUserIds = list.Select(i => i.RentUserID).Distinct();
                var retUserList = _rentUserManager.List(user => rentUserIds.Contains(user.Id));

                list = list.Select(i =>
                {
                    i.Car      = carList.FirstOrDefault(c => c.Id == i.CarID);
                    i.RentUser = retUserList.FirstOrDefault(r => r.Id == i.RentUserID);
                    return(i);
                }).OrderByDescending(o => o.AlisTarihi).ToList();
            }
            return(list);
        }
示例#2
0
        public ActionResult Detail(Rezervasyon reservation)
        {
            var message = "İşleminize devam edemiyoruz. Lütfen giriş yaptığınız değerleri kontrol edip tekrar deneyiniz!";
            var success = false;

            if (ModelState.IsValid)
            {
                //Kiralayan bilgisi yeni ise ekle
                if (reservation.RentUserID == 0)
                {
                    var rentUser = _rentUserManager.List(i => i.Name == reservation.RentUser.Name && i.PhoneNumber == reservation.RentUser.PhoneNumber).FirstOrDefault();
                    if (rentUser == null)
                    {
                        _rentUserManager.Insert(reservation.RentUser);
                        rentUser = reservation.RentUser;
                    }
                    reservation.RentUserID = rentUser.Id;
                }
                else
                {
                    reservation.RentUser = _rentUserManager.GetById(reservation.RentUserID);
                }

                if (reservation.AdminID <= 0)
                {
                    reservation.AdminID = 1; //şimdilik default 1 atıldı
                }

                if (reservation.Id > 0)
                {
                    var persistent = _reservationManager.GetById(reservation.Id);
                    if (persistent != null)
                    {
                        persistent.İadeYeri   = reservation.İadeYeri;
                        persistent.AlisYeri   = reservation.AlisYeri;
                        persistent.IadeTarihi = reservation.IadeTarihi;
                        persistent.AlisTarihi = reservation.AlisTarihi;
                        persistent.CarID      = reservation.CarID;
                        persistent.RentUserID = reservation.RentUserID;
                        persistent.Status     = reservation.Status;
                        persistent.AdminID    = reservation.AdminID;

                        _reservationManager.Update(persistent);
                        message = "Rezervasyon başarıyla güncellendi.";
                        success = true;
                    }
                    else
                    {
                        message = "Rezervasyon bilgileri kaydedilemedi!";
                    }
                }
                else
                {
                    _reservationManager.Insert(reservation);
                    message = "Yeni rezervasyon kaydı başarıyla eklendi.";
                    success = true;
                }
            }

            ViewBag.ReservationResult  = success;
            ViewBag.ReservationMessage = message;
            return(GetModel(reservation));
        }
示例#3
0
        public ActionResult Index()
        {
            var model = _rentUserManager.List();

            return(View(model));
        }