コード例 #1
0
        public IHttpActionResult GetRentaCarById(int rentaCarId)
        {
            RentaCar rentaCar = new RentaCar();

            try
            {
                rentaCar = objEntity.RentaCars.Find(rentaCarId);

                if (rentaCar == null)
                {
                    rentaCar        = new RentaCar();
                    rentaCar.Status = 0;
                }
                else
                {
                    rentaCar.Status = 1;
                }
            }
            catch (Exception)
            {
                throw;
            }

            return(Ok(rentaCar));
        }
コード例 #2
0
        public IHttpActionResult PutRentaCar(RentaCar data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                RentaCar rentaCar = new RentaCar();
                rentaCar = objEntity.RentaCars.Find(data.Id);

                if (rentaCar != null)
                {
                    rentaCar.Id          = data.Id;
                    rentaCar.Name        = data.Name;
                    rentaCar.Address     = data.Address;
                    rentaCar.City        = data.City;
                    rentaCar.Description = data.Description;
                    rentaCar.Rate        = data.Rate;
                    rentaCar.RatedBy     = data.RatedBy;
                    rentaCar.CarAdminId  = data.CarAdminId;
                }
                int i = objEntity.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }
            return(Ok(data));
        }
コード例 #3
0
        public IHttpActionResult PostRentaCarRate(string rate, string userId, string rentaCarId)
        {
            RentaCarRate rentaCarRate = new RentaCarRate();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                rentaCarRate.Rate       = Convert.ToInt32(rate);
                rentaCarRate.RentaCarId = Convert.ToInt32(rentaCarId);
                rentaCarRate.UserId     = Convert.ToInt32(userId);
                rentaCarRate.RateDate   = DateTime.Now;

                objEntity.RentaCarRates.Add(rentaCarRate);


                RentaCar rentaCar = objEntity.RentaCars.Find(rentaCarRate.RentaCarId);
                double   sum      = rentaCar.Rate * rentaCar.RatedBy + rentaCarRate.Rate;
                rentaCar.RatedBy++;
                rentaCar.Rate = Math.Round((sum / rentaCar.RatedBy), 2);


                objEntity.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }

            return(Ok(rentaCarRate));
        }
コード例 #4
0
        public IHttpActionResult DeleteRentaCar(int id)
        {
            RentaCar rentaCar = objEntity.RentaCars.Find(id);

            if (rentaCar == null)
            {
                return(NotFound());
            }

            objEntity.RentaCars.Remove(rentaCar);
            objEntity.SaveChanges();

            return(Ok(rentaCar));
        }
コード例 #5
0
        public IQueryable <RentaCar> GetRentaCarByLocation(string rentaCarLocation)
        {
            RentaCar rentaCar = new RentaCar();
            string   ifSmall  = rentaCarLocation.First().ToString().ToUpper() +
                                String.Join("", rentaCarLocation.Skip(1));

            try
            {
                return(objEntity.RentaCars.Where(c => c.City.Contains(rentaCarLocation) && c.City.Contains(ifSmall)));
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #6
0
        public IHttpActionResult PostRentaCar(RentaCar data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                data.Rate    = 0;
                data.RatedBy = 0;
                objEntity.RentaCars.Add(data);
                objEntity.SaveChanges();
            }
            catch (Exception)
            {
                throw;
            }

            return(Ok(data));
        }
コード例 #7
0
 public bool DodajRCVozila(string grad, int idRentaCar, string[] registracije)
 {
     return(RentaCar.DodajRCVozila(grad, idRentaCar, registracije, idAplikacije));
 }
コード例 #8
0
        /*:: VOZILA ::*/

        public int DodajRCVozilo(string grad, int idRentaCar, string registracija)
        {
            return(RentaCar.DodajRCVozilo(grad, idRentaCar, registracija, idAplikacije));
        }
コード例 #9
0
 public bool PoveziRentaCar(string grad, int idRente, string naziv, string email, string mobitel, out int idKorisnikaGO,
                            out int idKlasifikacije)
 {
     return(RentaCar.PoveziRentaCar(grad, idRente, naziv, email, mobitel, out idKorisnikaGO,
                                    out idKlasifikacije, idAplikacije));
 }
コード例 #10
0
 public bool ObrisiRentaCar(string grad, int idRente)
 {
     return(RentaCar.ObrisiRentaCar(grad, idRente, idAplikacije));
 }
コード例 #11
0
 public bool IzmjeniRentaCar(string grad, _RentaCar renta)
 {
     return(RentaCar.IzmjeniRentaCar(grad, renta, idAplikacije));
 }
コード例 #12
0
 public _RentaCar DodajRentaCar(string grad, _RentaCar renta)
 {
     return(RentaCar.DodajRentaCar(grad, renta, idAplikacije));
 }
コード例 #13
0
        public List <string> RatesReport(string rentaCarId, string period)
        {
            RentaCar   rentaCar = objEntity.RentaCars.Find(Convert.ToInt32(rentaCarId));
            List <int> carsIds  = new List <int>();

            foreach (Car car in objEntity.Cars.Where(c => c.RentaCarId == rentaCar.Id))
            {
                carsIds.Add(car.Id);
            }


            List <string> reports = new List <string>();

            IQueryable <CarRate>      carRates      = objEntity.CarRates.Where(carRate => carsIds.Contains(carRate.CarId));
            IQueryable <RentaCarRate> rentaCarRates = objEntity.RentaCarRates.Where(rentaCarRate => rentaCarRate.RentaCarId.ToString() == rentaCarId);
            IQueryable <Car>          cars          = objEntity.Cars.Where(car => car.RentaCarId.ToString() == rentaCarId);


            DateTime yesterday = DateTime.Today.AddDays(-1);
            DateTime weekAgo   = DateTime.Today.AddDays(-7);
            DateTime monthAgo  = DateTime.Today.AddMonths(-1);
            DateTime yearAgo   = DateTime.Today.AddYears(-1);

            switch (period)
            {
            case "day":
            {
                carRates      = carRates.Where(cr => cr.RateDate >= yesterday);
                rentaCarRates = rentaCarRates.Where(rcr => rcr.RateDate >= yesterday);
            }
            break;

            case "week":
            {
                carRates      = carRates.Where(cr => cr.RateDate >= weekAgo);
                rentaCarRates = rentaCarRates.Where(rcr => rcr.RateDate >= weekAgo);
            }
            break;

            case "month":
            {
                carRates      = carRates.Where(cr => cr.RateDate >= monthAgo);
                rentaCarRates = rentaCarRates.Where(rcr => rcr.RateDate >= monthAgo);
            }
            break;

            case "year":
            {
                carRates      = carRates.Where(cr => cr.RateDate >= yearAgo);
                rentaCarRates = rentaCarRates.Where(rcr => rcr.RateDate >= yearAgo);
            }
            break;

            default:
                break;
            }

            reports.Add(" ");
            reports.Add("Rent-a-car service rates: ");
            reports.Add(" ");
            reports.Add(" ");
            foreach (RentaCarRate rcr in rentaCarRates)
            {
                reports.Add(UserNameLastName(rcr.UserId) + " rated with " + rcr.Rate + " on " + rcr.RateDate.ToShortDateString() + ".");
                reports.Add(" ");
            }

            reports.Add("Average rate of this rent-a-car service is " + rentaCar.Rate);

            reports.Add(" ");
            reports.Add(" ");

            reports.Add("Car rates: ");
            reports.Add(" ");
            reports.Add(" ");

            foreach (CarRate cr in carRates)
            {
                reports.Add(UserNameLastName(cr.UserId) + " rated car " + CarName(cr.CarId) + " with " + cr.Rate + " on " + cr.RateDate.ToShortDateString() + ".");
                reports.Add(" ");
            }


            reports.Add(" ");
            reports.Add(" ");

            foreach (Car c in cars)
            {
                reports.Add("Average rate of car " + c.Name + " is " + c.Rate);
                reports.Add(" ");
            }

            reports.Add(" ");
            reports.Add(" ");

            return(reports);
        }
コード例 #14
0
 public bool IzmjeniRCVozilo(string grad, int idVozila, string registracija)
 {
     return(RentaCar.IzmjeniRCVozilo(grad, idVozila, registracija, idAplikacije));
 }
コード例 #15
0
        /*:: RENTACAR ::*/

        #region RENT-A-CAR

        public List <_RentaCar> DohvatiRentaCar(string grad)
        {
            return(RentaCar.DohvatiRentaCar(grad, idAplikacije));
        }
コード例 #16
0
 public bool ObrisiRCVozilo(string grad, int idVozila)
 {
     return(RentaCar.ObrisiRCVozilo(grad, idVozila, idAplikacije));
 }
コード例 #17
0
        public List <string> IncomeReport(string rentaCarId, string period)
        {
            RentaCar   rentaCar = objEntity.RentaCars.Find(Convert.ToInt32(rentaCarId));
            List <int> carsIds  = new List <int>();

            foreach (Car car in objEntity.Cars.Where(c => c.RentaCarId == rentaCar.Id))
            {
                carsIds.Add(car.Id);
            }

            IQueryable <CarReservation> reservations = objEntity.CarReservations.Where(reservation => carsIds.Contains(reservation.CarId));

            DateTime yesterday = DateTime.Today.AddDays(-1);
            DateTime weekAgo   = DateTime.Today.AddDays(-7);
            DateTime monthAgo  = DateTime.Today.AddMonths(-1);
            DateTime yearAgo   = DateTime.Today.AddYears(-1);

            switch (period)
            {
            case "day":
                reservations = reservations.Where(reservation => reservation.DateFrom >= yesterday);
                break;

            case "week":
                reservations = reservations.Where(reservation => reservation.DateFrom >= weekAgo);
                break;

            case "month":
                reservations = reservations.Where(reservation => reservation.DateFrom >= monthAgo);
                break;

            case "year":
                reservations = reservations.Where(reservation => reservation.DateFrom >= yearAgo);
                break;

            default:
                break;
            }


            List <string> reports = new List <string>();
            double        income  = 0;

            reports.Add(" ");
            reports.Add(" ");
            reports.Add("Income report: ");
            reports.Add(" ");

            foreach (CarReservation reservation in reservations)
            {
                reports.Add("Reservation of car " + reservation.CarName + " from " + reservation.DateFrom.ToShortDateString()
                            + " to " + reservation.DateTo.Date.ToShortDateString() + " cost " + reservation.Price);

                income += (double)reservation.Price;
                reports.Add(" ");
            }


            reports.Add(" ");
            reports.Add(" ");
            reports.Add("Total income: " + income);


            return(reports);
        }