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)); }
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); } }
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); } }
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); } }
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); }
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); } }
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 { } }
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); } }
public IHttpActionResult Put([FromBody] OrderModel order) { BOLOrder RetrievedOrder = GetOrdersFilter.updateOrder(order); return(Ok(RetrievedOrder)); }