/// <summary> send mail to the passenger about the cancle /// </summary> public static void sendMailCancelToP(RegisterationDTO reg, DateTime fromDate, DateTime toDate) { TravelingDriver travelingDriver = TravelingDriverDal.GetTraveling(reg.travelingIdDriver); TravelingPassenger travelingPassenger = TravelingPassengerDal.GetTraveling(reg.travelingIdPassenger); Driver driver = DriverDal.GetDriverById(travelingDriver.DriverId); Passenger passenger = PassengerDal.GetPassengerById(travelingPassenger.PassengerId); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(passenger.User.Mail); //mail.To.Add("*****@*****.**"); mail.Subject = " הודעה על ביטול נסיעה "; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception e) { throw; } }
public static void AddPaymentCancelToD(int id, DateTime fromDate, DateTime toDate) { try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { Registeration registeration = ctx.Registerations.FirstOrDefault(r => r.Id == id); if (registeration == null) { return; } TravelingDriver traveling = ctx.TravelingDrivers.FirstOrDefault(d => d.TravelingIdDriver == registeration.TravelingIdDriver); if (traveling == null) { return; } Payment payment = new Payment() { IdPaymentKind = 2, PaymentDate = DateTime.Now, SumPay = traveling.Price / 2 }; payment.Registeration = registeration; payment.IdRegisteration = registeration.Id; ctx.Payments.Add(payment); ctx.SaveChanges(); } } catch { throw; } }
public static TravelingDriverDTO GetTravelingDTO(TravelingDriver traveling) { if (traveling == null) { return(null); } TravelingDriverDTO travelingsDTO = new TravelingDriverDTO() { TravelingIdDriver = traveling.TravelingIdDriver, DriverId = traveling.DriverId, Weekday = traveling.Weekday, Places = traveling.Places, Time = traveling.Time, FromDate = traveling.FromDate, ToDate = traveling.ToDate, Price = traveling.Price, Source = traveling.Source, Destination = traveling.Destination, NumSeats = traveling.NumSeats, IsActive = traveling.IsActive }; //travelingsDTO.Source= AddressBL.GetAddress(traveling.Source); //travelingsDTO.Destination = AddressBL.GetAddress(traveling.Destination); return(travelingsDTO); }
///<summary> send reminder on mail ///</summary> public static void sendMailReminder(RegisterationDTO registeration) { TravelingDriver travelingDriver = TravelingDriverDal.GetTraveling(registeration.travelingIdDriver); TravelingPassenger travelingPassenger = TravelingPassengerDal.GetTraveling(registeration.travelingIdPassenger); Driver driver = DriverDal.GetDriverById(travelingDriver.DriverId); Passenger passenger = PassengerDal.GetPassengerById(travelingPassenger.PassengerId); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(passenger.User.Mail); //mail.To.Add("*****@*****.**"); mail.Subject = " תזכורת נסיעה "; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception e) { throw; } }
public static bool UpdateTraveling(TravelingDriver traveling, int id) { try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { var q = ctx.TravelingDrivers.FirstOrDefault(w => w.TravelingIdDriver == id); if (q == null) { return(false); } q.DriverId = traveling.DriverId; q.Weekday = traveling.Weekday; q.Places = traveling.Places; q.Time = traveling.Time; q.FromDate = traveling.FromDate; q.ToDate = traveling.ToDate; q.Price = traveling.Price; q.Source = traveling.Source; q.Destination = traveling.Destination; ctx.SaveChanges(); return(true); } } catch { throw; } }
public static bool isSuitibale(TravelingPassenger travelingPassenger, TravelingDriver travelingDriver) { if (IsSuitableDistance(travelingPassenger, travelingDriver)) { if (travelingDriver.Price <= travelingPassenger.Price) { if (travelingDriver.FromDate <= travelingPassenger.FromDate) { if (travelingDriver.ToDate >= travelingPassenger.ToDate) { if (travelingDriver.Time <= travelingPassenger.FromTime) { if (travelingDriver.Time >= travelingPassenger.ToTime) { if (travelingDriver.Weekday.Contains(travelingPassenger.Weekday)) { if (IsRangAvailable(travelingDriver, travelingPassenger)) { return(true); } } } } } } } } return(false); }
private static bool IsRangAvailable(TravelingDriver travelingDriver, TravelingPassenger travelingPassenger) { TimeSpan timeSpan = travelingPassenger.ToDate.Date - travelingPassenger.FromDate.Date; int range = timeSpan.Days; bool isAvailable = true; DateTime date = travelingPassenger.FromDate; try { using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities()) { for (int i = 0; i < range; i++) { if (travelingPassenger.Weekday.Contains(((int)date.DayOfWeek + 1).ToString())) { var q = db.TravelDriverRanges.ToList().Where(w => w.Id == travelingDriver.TravelingIdDriver && w.Date.Date == date.Date).ToList(); if (q.Count != 0) { if (q.First().NumSeatsAvailable <= 0) { isAvailable = false; } } } } } } catch (Exception e) { throw new Exception("error"); } return(isAvailable); }
public static void AddRegisteration(Registeration registeration) { try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { TravelingDriver travelingDriver = ctx.TravelingDrivers.FirstOrDefault(w => w.TravelingIdDriver == registeration.TravelingIdDriver); TravelingPassenger travelingPassenger = ctx.TravelingPassengers.FirstOrDefault(w => w.TravelingIdPassenger == registeration.TravelingIdPassenger); registeration.TravelingDriver = travelingDriver; registeration.TravelingPassenger = travelingPassenger; travelingPassenger.IsEmbedded = true; TimeSpan timeSpan = registeration.TravelingPassenger.ToDate - registeration.TravelingPassenger.FromDate; int range = timeSpan.Days; DateTime date = registeration.TravelingPassenger.FromDate; TimeSpan ts = new TimeSpan(registeration.TravelingDriver.Time.Hours, registeration.TravelingDriver.Time.Minutes, registeration.TravelingDriver.Time.Seconds); date = date + ts; Registeration newRegisteration = new Registeration() { TravelingIdDriver = registeration.TravelingIdDriver, TravelingIdPassenger = registeration.TravelingIdPassenger, Date = DateTime.Now, TravelingDriver = travelingDriver, TravelingPassenger = travelingPassenger }; ctx.Registerations.Add(newRegisteration); ctx.SaveChanges(); //לולאה על כל טווח הנסיעה for (int i = 0; i < range; i++) { if (registeration.TravelingPassenger.Weekday.Contains(((int)date.DayOfWeek + 1).ToString())) { var q = ctx.TravelDriverRanges.FirstOrDefault(t => t.Id == travelingDriver.TravelingIdDriver && t.Date == date.Date); q.NumSeatsAvailable = q.NumSeatsAvailable - 1; RegistrationDateRange registrationDateRange = new RegistrationDateRange() { Id = newRegisteration.Id, DateInRange = date, IsActive = true, IsComplain = false, NumComplainants = 0, NumPassengers = 1 }; registrationDateRange.Registeration = newRegisteration; ctx.RegistrationDateRanges.Add(registrationDateRange); ctx.SaveChanges(); } date = date.AddDays(1); } } } catch { throw; } }
/// <summary> send the rout to the driver on mail /// </summary> public static void sendRouteToDriver(List <RegistrationDateRange> listReg, TravelDriverRange travel) { 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); string source, destination, routeDetails; source = travelingDriver.Source; destination = travelingDriver.Destination; foreach (var t in listReg) { registeration = RegisterationDal.GetRegisterationById(t.Id); traveling = TravelingPassengerDal.GetTraveling(registeration.TravelingIdPassenger); if (traveling != null) { travelings.Add(traveling); } } route = GetRoute(travelings, source, destination); routeDetails = GetRouteDetails(route); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(driver.User.Mail); mail.Subject = "מסלול נסיעתך ופרטי הנוסעים"; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception e) { throw; } }
/// <summary> delete traveling from the db /// </summary> public static void DeleteTraveling(TravelingDriverDTO traveling) { TravelingDriver travelingD = TravelingDriverDal.GetTraveling(traveling.TravelingIdDriver); if (travelingD.FromDate.Date == traveling.FromDate.Date && travelingD.ToDate.Date == traveling.ToDate.Date) { TravelingDriverDal.DeleteTraveling(travelingD.TravelingIdDriver); } else { TravelingDriverDal.DeleteTravelingRange(TravelingDriverConverters.GetTraveling(traveling)); } }
/// <summary> add a new traveling in the db /// </summary> public static void Add(TravelingDriverDTO travelingD) { TravelingDriver t = TravelingDriverConverters.GetTraveling(travelingD); t.TravelingIdDriver = TravelingDriverDal.AddTraveling(t); travelingD.TravelingIdDriver = t.TravelingIdDriver; TravelDriverRangeDAL.AddTravelRange(t); List <TravelingPassenger> travelPassengersSuitable = TravelingPassengerDal.GetTravelSuitableP(t); foreach (var travelP in travelPassengersSuitable) { Mail.sendMailSuitableDriver(travelP, travelingD); } }
public static List <TravelingPassenger> GetTravelSuitableP(TravelingDriver travelingDriver) { try { using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities()) { List <TravelingPassenger> matchPassengers = db.TravelingPassengers.ToList() .Where(w => w.IsEmbedded == false && w.IsActive == true && isSuitibale(w, travelingDriver) == true).ToList(); return(matchPassengers); } } catch (Exception e) { throw new Exception("error"); } }
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); }
public static int AddTraveling(TravelingDriver traveling) { int key; try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { Driver driver = ctx.Drivers.FirstOrDefault(w => w.Id == traveling.DriverId); traveling.Driver = driver; traveling.NumSeats = driver.NumberOfSeats; ctx.TravelingDrivers.Add(traveling); ctx.SaveChanges(); } return(traveling.TravelingIdDriver); } catch { throw; } }
public static TravelingDriver GetTraveling(TravelingDriverDTO dtoTraveling) { TravelingDriver traveling = new TravelingDriver() { DriverId = dtoTraveling.DriverId, Weekday = dtoTraveling.Weekday, Places = dtoTraveling.Places, Time = dtoTraveling.Time, FromDate = dtoTraveling.FromDate, ToDate = dtoTraveling.ToDate, Price = dtoTraveling.Price, Source = dtoTraveling.Source, Destination = dtoTraveling.Destination, NumSeats = dtoTraveling.NumSeats, IsActive = dtoTraveling.IsActive }; return(traveling); }
public static bool isTravelToday(int id, DateTime fromDate, DateTime toDate) { try { if (!(DateTime.Now >= fromDate.Date && DateTime.Now <= toDate.Date)) { return(false); } using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { Registeration registeration = ctx.Registerations.FirstOrDefault(r => r.Id == id); if (registeration == null) { return(false); } TravelingDriver traveling = ctx.TravelingDrivers.FirstOrDefault(d => d.TravelingIdDriver == registeration.TravelingIdDriver); if (traveling == null) { return(false); } var q = ctx.RegistrationDateRanges.ToList() .FirstOrDefault(w => w.Id == id && w.DateInRange.Date == DateTime.Now.Date); if (q == null) { return(false); } TimeSpan time = traveling.Time - DateTime.Now.TimeOfDay; if (time.TotalHours <= 1) { return(true); } return(false); } } catch { return(false); } }
/// <summary> send mail to the passenger to confirm the joining /// </summary> public static bool MailPassengerToConfirm(int idTravelingDriver, int idTravelingPassenger, string body, string subject) { string gender; TravelingDriver travelingDriver = TravelingDriverDal.GetTraveling(idTravelingDriver); TravelingPassenger travelingPassenger = TravelingPassengerDal.GetTraveling(idTravelingPassenger); Driver driver = DriverDal.GetDriverById(travelingDriver.DriverId); Passenger passenger = PassengerDal.GetPassengerById(travelingPassenger.PassengerId); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); if (driver.User.Gender == true) { gender = "זכר"; } else { gender = "נקבה"; } mail.From = new MailAddress("*****@*****.**"); mail.To.Add(driver.User.Mail); //mail.To.Add("*****@*****.**"); mail.Subject = "אישור הצטרפותך לנסיעה "; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); return(true); } catch (Exception e) { return(false); } }
public static void DeleteTravelingRange(TravelingDriver traveling) { try { using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities()) { var travelRanges = db.TravelDriverRanges .Where(t => t.Id == traveling.TravelingIdDriver && t.Date.Date >= traveling.FromDate.Date && t.Date <= traveling.ToDate.Date).ToList(); foreach (var t in travelRanges) { t.IsActive = false; db.SaveChanges(); } } } catch (Exception e) { throw new Exception("error"); } }
public static void AddTravelRange(TravelingDriver travelingDriver) { int range; TimeSpan timeSpan; DateTime date = travelingDriver.FromDate; try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { Driver driver = ctx.Drivers.FirstOrDefault(w => w.Id == travelingDriver.DriverId); travelingDriver.Driver = driver; timeSpan = travelingDriver.ToDate.Date - travelingDriver.FromDate.Date; range = timeSpan.Days; for (int i = 0; i < range; i++) { TravelDriverRange travelDateRange = new TravelDriverRange() { Id = travelingDriver.TravelingIdDriver, NumSeatsAvailable = travelingDriver.Driver.NumberOfSeats, Date = date, IsActive = true }; if (travelingDriver.Weekday.Contains(((int)date.DayOfWeek + 1).ToString())) { travelDateRange.TravelingDriver = ctx.TravelingDrivers.FirstOrDefault(w => w.TravelingIdDriver == travelDateRange.Id); ctx.TravelDriverRanges.Add(travelDateRange); } ctx.SaveChanges(); date = date.Date.AddDays(1); } } } catch { throw; } }
/// <summary> send mail to the passenger about the cancle /// </summary> public static void sendMailCancelToP(RegisterationDTO reg, DateTime fromDate, DateTime toDate) { TravelingDriver travelingDriver = TravelingDriverDal.GetTraveling(reg.travelingIdDriver); TravelingPassenger travelingPassenger = TravelingPassengerDal.GetTraveling(reg.travelingIdPassenger); Driver driver = DriverDal.GetDriverById(travelingDriver.DriverId); Passenger passenger = PassengerDal.GetPassengerById(travelingPassenger.PassengerId); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(passenger.User.Mail); mail.Subject = "הודעה על ביטול נסיעה"; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception e) { throw; } }
///<summary> send reminder on mail ///</summary> public static void sendMailReminder(RegisterationDTO registeration) { TravelingDriver travelingDriver = TravelingDriverDal.GetTraveling(registeration.travelingIdDriver); TravelingPassenger travelingPassenger = TravelingPassengerDal.GetTraveling(registeration.travelingIdPassenger); Driver driver = DriverDal.GetDriverById(travelingDriver.DriverId); Passenger passenger = PassengerDal.GetPassengerById(travelingPassenger.PassengerId); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(passenger.User.Mail); mail.Subject = "תזכורת נסיעה"; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception e) { throw; } }
private static bool IsSuitableDistance(TravelingPassenger travelingPassenger, TravelingDriver travelingDriver) { double distanceDriver, distancePassenger1, distancePassenger2; if (GoogelMaps.GooglePlaces(travelingPassenger.Source, travelingDriver.Source, false) <= 6.0 && GoogelMaps.GooglePlaces(travelingPassenger.Destination, travelingDriver.Destination, false) <= 6.0) { return(true); } distanceDriver = GoogelMaps.GooglePlacesTime(travelingDriver.Source, travelingDriver.Destination, true); distancePassenger1 = GoogelMaps.GooglePlacesTime(travelingDriver.Source, travelingPassenger.Source, true); distancePassenger2 = GoogelMaps.GooglePlacesTime(travelingPassenger.Source, travelingDriver.Destination, true); if (distancePassenger1 + distancePassenger2 <= distanceDriver + 5) { return(true); } return(false); }
/// <summary> send mail to the passenger to confirm the joining /// </summary> public static bool MailPassengerToConfirm(int idTravelingDriver, int idTravelingPassenger, string body, string subject) { string gender; TravelingDriver travelingDriver = TravelingDriverDal.GetTraveling(idTravelingDriver); TravelingPassenger travelingPassenger = TravelingPassengerDal.GetTraveling(idTravelingPassenger); Driver driver = DriverDal.GetDriverById(travelingDriver.DriverId); Passenger passenger = PassengerDal.GetPassengerById(travelingPassenger.PassengerId); try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); if (driver.User.Gender == true) { gender = "זכר"; } else { gender = "נקבה"; } mail.From = new MailAddress("*****@*****.**"); mail.To.Add(driver.User.Mail); string path = "C:/Users/user1/Desktop/project/src/assets/images/car.png"; LinkedResource Img = new LinkedResource(path, MediaTypeNames.Image.Jpeg); Img.ContentId = "MyImage"; string str = @" <img src=cid:MyImage id='img' alt='' width='180px' height='140px''/> "; mail.Subject = "אישור הצטרפותך לנסיעה "; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); return(true); } catch (Exception e) { return(false); } }