Exemplo n.º 1
0
        public IHttpActionResult returnCar([FromBody] OrderModel order)
        {
            BOLOrder RetrievedOrder = GetOrdersFilter.RetrieveOrder(order);
            BOLOrder getOrder       = RentOrder.UpDataTo_db(RetrievedOrder);
            var      a              = (getOrder.ActualReturnDate.Value - getOrder.StartDate.Date).TotalDays;
            int      CarsTypeID     = RentCarsInVehicleInventory.GetCarsTypeID(getOrder.VehiclesID);
            decimal  carPriceForDay = RentTypeOfCars.getDaylyCost(CarsTypeID);

            return(Ok(carPriceForDay));
        }
Exemplo n.º 2
0
        internal static BOLOrder RetrieveOrder(string userName, int carNumber, DateTime start)
        {
            try
            {
                BOLOrder newOrder = new BOLOrder();

                newOrder.StartDate  = start;
                newOrder.UserID     = RentUser.GetUserid(userName);
                newOrder.VehiclesID = RentCarsInVehicleInventory.GetVehicleid(carNumber);
                return(newOrder);
            }
            catch { return(null); }
        }
Exemplo n.º 3
0
 public static BOLOrder UpDataTo_db(BOLOrder retrievedOrder)
 {
     try
     {
         using (RentalcarsEntities1 ef = new RentalcarsEntities1())
         {
             Order    getOrder       = ef.Orders.FirstOrDefault(u => u.UserID == retrievedOrder.UserID && u.StartDate == retrievedOrder.StartDate && u.VehiclesID == retrievedOrder.VehiclesID);
             DateTime getCorrentDate = DateTime.Today;
             getOrder.ActualReturnDate = getCorrentDate.Date;
             ef.SaveChanges();
             retrievedOrder.ActualReturnDate = getOrder.ActualReturnDate;
             return(retrievedOrder);
         }
     }
     catch { return(null); }
 }
Exemplo n.º 4
0
        public static BOLOrder RetrieveOrder(OrderModel orderModel)
        {
            try
            {
                BOLOrder newOrder = new BOLOrder();

                newOrder.StartDate        = orderModel.StartDate;
                newOrder.ReturnDate       = orderModel.ReturnDate;
                newOrder.UserID           = RentUser.GetUserid(orderModel.UserName);
                newOrder.VehiclesID       = RentCarsInVehicleInventory.GetVehicleid(orderModel.VehicleNumber);
                newOrder.ActualReturnDate = orderModel.ActualReturnDate;

                return(newOrder);
            }
            catch { return(null); }
        }
 internal static bool IsAvailable(BOLOrder order)
 {
     try
     {
         using (RentalcarsEntities1 ef = new RentalcarsEntities1())
         {
             bool         a       = true;
             List <Order> dbOrder = ef.Orders.Where(u => u.VehiclesID == order.VehiclesID && u.ActualReturnDate == null).ToList();
             foreach (var item in dbOrder)
             {
                 if (item.ReturnDate >= order.StartDate && item.StartDate <= order.StartDate)
                 {
                     a = false;
                 }
             }
             return(a);
         }
     }
     catch { return(false); }
 }
Exemplo n.º 6
0
 public static BOLOrder SaveUpDataTo_db(BOLOrder bOLOrder, DateTime?startDate)
 {
     if (bOLOrder.StartDate >= DateTime.Now)
     {
         if (validateCarAvailable.IsAvailable(bOLOrder))
         {
             using (RentalcarsEntities1 ef = new RentalcarsEntities1())
             {
                 Order getorder = ef.Orders.FirstOrDefault(u => u.UserID == bOLOrder.UserID && u.StartDate == startDate && u.VehiclesID == bOLOrder.VehiclesID);
                 getorder.StartDate        = bOLOrder.StartDate;
                 getorder.ReturnDate       = bOLOrder.ReturnDate;
                 getorder.ActualReturnDate = bOLOrder.ActualReturnDate;
                 ef.SaveChanges();
                 return(bOLOrder);
             }
         }
         return(null);
     }
     return(null);
 }
Exemplo n.º 7
0
        public static OrderModel PostOrders(OrderModel Order)
        {
            try
            {
                BOLOrder newOrder = new BOLOrder();

                newOrder.StartDate        = Order.StartDate;
                newOrder.ReturnDate       = Order.ReturnDate;
                newOrder.UserID           = RentUser.GetUserid(Order.UserName);
                newOrder.VehiclesID       = RentCarsInVehicleInventory.GetVehicleid(Order.VehicleNumber);
                newOrder.ActualReturnDate = Order.ActualReturnDate;

                if (RentOrder.AddBranchTo_db(newOrder))
                {
                    return(Order);
                }
                return(null);
            }
            catch { return(null); }
        }
Exemplo n.º 8
0
        public static void UpDataTo_db(BOLOrder oldOrder, BOLOrder newOrder)
        {
            try
            {
                if (newOrder.StartDate > DateTime.Now)
                {
                    if (validateCarAvailable.IsAvailable(newOrder))
                    {
                        using (RentalcarsEntities1 ef = new RentalcarsEntities1())
                        {
                            Order order = ef.Orders.FirstOrDefault(u => u.ReturnDate == oldOrder.ReturnDate &&
                                                                   u.StartDate == oldOrder.StartDate &&
                                                                   u.UserID == oldOrder.UserID && u.VehiclesID == oldOrder.VehiclesID);
                            if (order != null)
                            {
                                order.StartDate        = newOrder.StartDate;
                                order.ReturnDate       = newOrder.ReturnDate;
                                order.ActualReturnDate = newOrder.ActualReturnDate;
                                order.UserID           = newOrder.UserID;
                                order.VehiclesID       = newOrder.VehiclesID;

                                ef.SaveChanges();
                            }
                        }
                    }
                    else
                    {
                        throw new InvalidOperationException($"this car is not Available in this date please select another car");
                    }
                }
                else
                {
                    throw new InvalidOperationException($"You can not select a date before the current date");
                }
            }
            catch
            {
            }
        }
Exemplo n.º 9
0
 public static Boolean AddBranchTo_db(BOLOrder order)
 {
     try
     {
         if (order.StartDate >= DateTime.Now)
         {
             if (validateCarAvailable.IsAvailable(order))
             {
                 using (RentalcarsEntities1 ef = new RentalcarsEntities1())
                 {
                     ef.Orders.Add(new Order
                     {
                         StartDate        = order.StartDate,
                         ReturnDate       = order.ReturnDate,
                         ActualReturnDate = order.ActualReturnDate,
                         UserID           = order.UserID,
                         VehiclesID       = order.VehiclesID
                     });
                     ef.SaveChanges();
                     return(true);
                 }
             }
             else
             {
                 throw new InvalidOperationException($"this car is not Available in this date please select another car");
             }
         }
         else
         {
             throw new InvalidOperationException($"You can not select a date before the current date");
         }
     }
     catch
     {
         return(false);
     }
 }
Exemplo n.º 10
0
        public IHttpActionResult Put([FromBody] OrderModel order)
        {
            BOLOrder RetrievedOrder = GetOrdersFilter.updateOrder(order);

            return(Ok(RetrievedOrder));
        }