示例#1
0
 private bool ValidateCarRent(Models.CarRent carRent)
 {
     if (carRent.RentTime >= carRent.ReturnTime)
     {
         return(false);
     }
     if ((carRent.ReturnTime != null && string.IsNullOrWhiteSpace(carRent.ReturnLocation)) ||
         (carRent.ReturnTime == null && !string.IsNullOrWhiteSpace(carRent.ReturnLocation)))
     {
         return(false);
     }
     return(true);
 }
示例#2
0
        public IHttpActionResult Post(Models.CarRent carRent)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (!ValidateCarRent(carRent))
            {
                return(BadRequest());
            }
            carRent.Price = RentPriceTool.CalculatePrice(carRent.RentTime, carRent.ReturnTime);
            var carRentEntity = carRent.ToDataModel();
            var db            = new DataContext();

            db.CarRents.Add(carRentEntity);
            db.SaveChanges();
            return(Ok(Models.CarRent.FromDataModel(carRentEntity)));
        }
示例#3
0
        public IHttpActionResult Put(Models.CarRent carRent)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (!ValidateCarRent(carRent))
            {
                return(BadRequest());
            }
            var db            = new DataContext();
            var carRentEntity = db.CarRents.Find(carRent.Id);

            if (carRentEntity == null)
            {
                return(NotFound());
            }
            carRent.Price = RentPriceTool.CalculatePrice(carRent.RentTime, carRent.ReturnTime);
            carRent.FillDataModel(carRentEntity);
            db.Entry(carRentEntity).State = EntityState.Modified;
            db.SaveChanges();
            return(Ok(Models.CarRent.FromDataModel(carRentEntity)));
        }