/// <summary> add report traveling to the db
        /// </summary>
        public static void AddComplaint(RegistrationDateRangeDTO traveling)
        {
            int idRegDate;
            RegisterationDTO registeration = RegisterationBL.GetRegisterationByPassengerId(traveling.Id);

            if (registeration == null)
            {
                return;
            }
            traveling.Id = registeration.Id;
            idRegDate    = IsExistInReg(traveling);
            if (idRegDate == -1)
            {
                return;
            }
            if (isComplain(traveling))
            {
                return;
            }

            RegistrationDateRangeDal.StatusComplain(registeration.Id, traveling.DateInRange);

            if (IsExistInReport(registeration.travelingIdDriver, traveling.DateInRange))
            {
                AddComplaint(registeration, traveling.DateInRange, idRegDate);
            }
            else
            {
                AddReport(registeration.travelingIdDriver, traveling.DateInRange, idRegDate);
            }
        }
示例#2
0
        public static void SendRouteToDrivers(object state)
        {
            List <RegistrationDateRange> listReg = new List <RegistrationDateRange>();
            List <TravelDriverRange>     travels = TravelDriverRangeBL.GetTravelingsNow();

            foreach (var travel in travels)
            {
                listReg = RegistrationDateRangeDal.GetRegisterationNow(travel);
                if (listReg != null)
                {
                    Mail.sendRouteToDriver(listReg, travel);
                }
            }
        }
示例#3
0
        public static WayPoint GetListWayPointsByTravelD(int id)
        {
            WayPoint wayPoint = new WayPoint();

            TravelDriverRange            travel  = TravelDriverRangeDAL.GetTravelRangeByIdentity(id);
            List <RegistrationDateRange> listReg = RegistrationDateRangeDal.GetRegisterationNow(travel);

            if (listReg == null)
            {
                return(null);
            }
            TravelingPassenger        traveling;
            List <TravelingPassenger> travelings = new List <TravelingPassenger>();
            Registeration             registeration;
            Route           route           = new Route();
            TravelingDriver travelingDriver = TravelingDriverDal.GetTraveling(travel.Id);

            //   Driver driver = DriverDal.GetDriverById(travelingDriver.DriverId);
            wayPoint.LatSource      = travelingDriver.LatS;
            wayPoint.LatDestination = travelingDriver.LatD;
            wayPoint.LngSource      = travelingDriver.LngS;
            wayPoint.LngDestination = travelingDriver.LngD;
            wayPoint.ListPoint      = new  Point [listReg.Count * 2];
            int i = 0;

            foreach (var t in listReg)
            {
                registeration = RegisterationDal.GetRegisterationById(t.Id);
                traveling     = TravelingPassengerDal.GetTraveling(registeration.TravelingIdPassenger);
                if (traveling != null)
                {
                    wayPoint.ListPoint[i] = new Point()
                    {
                        Lat = traveling.LatS, Lng = traveling.LngS
                    };
                    i++;
                    wayPoint.ListPoint[i] = new Point()
                    {
                        Lat = traveling.LatD, Lng = traveling.LngD
                    };
                    i++;
                }
            }
            return(wayPoint);
        }
示例#4
0
        ///<summary> send reminder on mail to the passengers
        ///</summary>
        public static void sendMailReminderToP(Object state)
        {
            List <RegistrationDateRangeDTO> registrationNow = RegistrationDateRangeConverters.GetListDateRangeDTO(RegistrationDateRangeDal.GetTravelingsNow());

            foreach (var r in registrationNow)
            {
                sendMailReminder(RegisterationConverters.GetRegisterationDTO(RegisterationDal.GetRegisterationById(r.Id)));
            }
        }
        private static int IsExistInReg(RegistrationDateRangeDTO traveling)
        {
            List <RegistrationDateRangeDTO> listRegDates = RegistrationDateRangeConverters.GetListDateRangeDTO(RegistrationDateRangeDal.GetDateByRegistrationId(traveling.Id));
            var dateInRange = listRegDates.Where(r => r.DateInRange == traveling.DateInRange);

            if (dateInRange.Count() == 0)
            {
                return(-1);
            }
            return(dateInRange.First().Id);
        }
        private static bool isComplain(RegistrationDateRangeDTO traveling)
        {
            RegistrationDateRange regDate = RegistrationDateRangeDal.GetDate(traveling.Id, traveling.DateInRange);

            return(regDate.IsComplain);
        }
 /// <summary> check if this travelig is today
 /// </summary>
 public static bool isTravelToday(int id, DateTime fromDate, DateTime toDate)
 {
     return(RegistrationDateRangeDal.isTravelToday(id, fromDate, toDate));
 }
 /// <summary> delete range of dates by identity's registeration
 /// </summary>
 public static int DeleteRangeD(int id, DateTime fromDate, DateTime toDate)
 {
     return(RegistrationDateRangeDal.DeleteRangeDate(id, fromDate, toDate));
 }