コード例 #1
0
        /// <summary> delete registeration of driver from the db
        /// </summary>
        public static void DeleteRegisterationDriver(TravelingDriverDTO traveling)
        {
            ///delete from TravelingDriver
            TravelingDriverDTO travelingDriver = TravelingDriverConverters.GetTravelingDTO(TravelingDriverDal.GetTraveling(traveling.TravelingIdDriver));

            travelingDriver.FromDate = traveling.FromDate;
            travelingDriver.ToDate   = traveling.FromDate;
            TravelingDriverBL.DeleteTraveling(travelingDriver);
            ///delete from Registeration
            List <RegisterationDTO> registerationInRange = RegisterationConverters.GetListRegisterationDTO(RegisterationDal.GetRegByIdDInRange(traveling.TravelingIdDriver, traveling.FromDate, traveling.ToDate));

            foreach (var reg in registerationInRange)
            {
                try
                {
                    Mail.sendMailCancelToP(reg, traveling.FromDate, traveling.ToDate);
                }
                catch
                {
                    throw;
                }
                try
                {
                    PaymentBL.PayToPassengerCancel(reg, traveling.FromDate, traveling.ToDate);
                }
                catch
                {
                    throw;
                }
            }

            List <RegisterationDTO> registerations = GetRegisterationByDriverId(traveling.TravelingIdDriver);

            DeleteRangeRegDriver(registerations, traveling.FromDate.Date, traveling.ToDate);
        }
コード例 #2
0
        private static void AddComplaint(RegisterationDTO registeration, DateTime dateInRange, int idRegDate)
        {
            TravelReportingDTO travelReporting = TravelReportingConverters.GetTravelReportingDTO(TravelReportingDal.AddComplaint(registeration.travelingIdDriver, dateInRange));

            if (travelReporting.NumComplainants >= travelReporting.NumPassengers / 2)
            {
                List <RegisterationDTO> allReg = GetAllRegOfTravel(registeration.travelingIdDriver, dateInRange);

                foreach (var reg in allReg)
                {
                    PaymentBL.PayToPassengerCancel(reg, dateInRange, dateInRange);
                }
                TravelReportingDal.UpdatePay(travelReporting.IdTravelingDriver, travelReporting.Date);
            }
        }
コード例 #3
0
        /// <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);
        }