/// <summary> add a new traveling in the db
        /// </summary>
        public static int Add(TravelingPassengerDTO traveling)
        {
            TravelingPassenger t = TravelingPassengerConverters.GetTraveling(traveling);

            t.TravelingIdPassenger = TravelingPassengerDal.AddTraveling(t);
            TravelPassengerRangeDal.AddTravelRange(t);
            return(t.TravelingIdPassenger);
        }
 /// <summary> delete a traveling from the db
 /// </summary>
 public static void DeleteTraveling(TravelingPassengerDTO traveling)
 {
     try
     {
         TravelingPassenger travelingP = TravelingPassengerDal.GetTraveling(traveling.TravelingIdPassenger);
         if (travelingP.FromDate.Date == traveling.FromDate.Date && travelingP.ToDate.Date == traveling.ToDate.Date)
         {
             TravelingPassengerDal.DeleteTraveling(travelingP.TravelingIdPassenger);
         }
         else
         {
             TravelingPassengerDal.DeleteTravelingRange(TravelingPassengerConverters.GetTraveling(traveling));
         }
     }
     catch
     {
     }
 }
        /// <summary> delete range registeration of passenger from the db
        /// </summary>
        public static int DeleteRangeRegPassenger(int id, DateTime fromDate, DateTime toDate)
        {
            ///delete from TravelingPassenger
            RegisterationDTO      registeration      = RegisterationConverters.GetRegisterationDTO(RegisterationDal.GetRegisterationById(id));
            TravelingPassengerDTO travelingPassenger = TravelingPassengerConverters.GetTravelingDTO(TravelingPassengerDal.GetTraveling(registeration.travelingIdPassenger));

            travelingPassenger.FromDate = fromDate;
            travelingPassenger.ToDate   = toDate;
            TravelingPassengerBL.DeleteTraveling(travelingPassenger);

            bool isPay = BL.RegistrationDateRangeBL.isTravelToday(id, fromDate, toDate);
            ///delete from Registeration
            int datesDelete = BL.RegistrationDateRangeBL.DeleteRangeP(id, fromDate, toDate);

            if (datesDelete > 0 && isPay)
            {
                PaymentBL.PayToDriverCancel(id, fromDate, toDate);
            }
            return(datesDelete);
        }
 ///<summary>update details' traveling in the db
 ///</summary>
 public static void UpdateTraveling(TravelingPassengerDTO travelings)
 {
     TravelingPassengerDal.UpdateTraveling(TravelingPassengerConverters.GetTraveling(travelings));
 }
 /// <summary> find unattached travelings by identity
 /// </summary>
 public static object GetTravelNotAttached(int id)
 {
     return(TravelingPassengerConverters.GetListTravelingsDTO(DAL.TravelingPassengerDal.GetTravelNotAttached(id)));
 }
 /// <summary>find traveling by identity
 /// </summary>
 public static TravelingPassengerDTO GetTraveling(int id)
 {
     return(TravelingPassengerConverters.GetTravelingDTO(DAL.TravelingPassengerDal.GetTraveling(id)));
 }
 /// <summary>return all the travelings by identity
 /// </summary>
 public static List <TravelingPassengerDTO> GetTravelings(int id)
 {
     return(TravelingPassengerConverters.GetListTravelingsDTO(TravelingPassengerDal.GetTravelings(id)));
 }