public static bool UpdateTraveling(TravelingPassenger traveling) { try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { var q = ctx.TravelingPassengers.FirstOrDefault(w => w.TravelingIdPassenger == traveling.TravelingIdPassenger); if (q == null) { return(false); } q.PassengerId = traveling.PassengerId; q.Weekday = traveling.Weekday; q.Places = traveling.Places; q.FromTime = traveling.FromTime; q.ToTime = traveling.ToTime; q.FromDate = traveling.FromDate; q.ToDate = traveling.ToDate; q.Price = traveling.Price; q.Source = traveling.Source; q.Destination = traveling.Destination; q.LatS = traveling.LatS; q.LngS = traveling.LngS; q.LatD = traveling.LatD; q.LngD = traveling.LngD; 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); }
public static TravelingPassenger GetTraveling(TravelingPassengerDTO dtoTraveling) { TravelingPassenger traveling = new TravelingPassenger() { PassengerId = dtoTraveling.PassengerId, Weekday = dtoTraveling.Weekday, Places = dtoTraveling.Places, FromTime = dtoTraveling.FromTime, ToTime = dtoTraveling.ToTime, FromDate = dtoTraveling.FromDate, ToDate = dtoTraveling.ToDate, Price = dtoTraveling.Price, Source = dtoTraveling.Source, Destination = dtoTraveling.Destination, LatS = dtoTraveling.LatS, LngS = dtoTraveling.LngS, LatD = dtoTraveling.LatD, LngD = dtoTraveling.LngD, IsEmbedded = dtoTraveling.IsEmbedded, TravelingIdPassenger = dtoTraveling.TravelingIdPassenger, IsActive = dtoTraveling.IsActive }; return(traveling); }
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 TravelingPassengerDTO GetTravelingDTO(TravelingPassenger traveling) { if (traveling == null) { return(null); } TravelingPassengerDTO travelingsDTO = new TravelingPassengerDTO() { TravelingIdPassenger = traveling.TravelingIdPassenger, PassengerId = traveling.PassengerId, Weekday = traveling.Weekday, Places = traveling.Places, FromTime = traveling.FromTime, ToTime = traveling.ToTime, FromDate = traveling.FromDate, ToDate = traveling.ToDate, Price = traveling.Price, Source = traveling.Source, Destination = traveling.Destination, LatS = traveling.LatS, LngS = traveling.LngS, LatD = traveling.LatD, LngD = traveling.LngD, IsEmbedded = traveling.IsEmbedded, IsActive = traveling.IsActive }; return(travelingsDTO); }
public static void AddPaymentCancelToP(Registeration registeration, DateTime fromDate, DateTime toDate) { try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { if (registeration == null) { return; } TravelingPassenger traveling = ctx.TravelingPassengers.FirstOrDefault(d => d.TravelingIdPassenger == registeration.TravelingIdPassenger); if (traveling == null) { return; } Payment payment = new Payment() { IdPaymentKind = 3, PaymentDate = DateTime.Now, SumPay = traveling.Price }; payment.Registeration = registeration; payment.IdRegisteration = registeration.Id; ctx.Payments.Add(payment); ctx.SaveChanges(); } } catch { 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.To.Add("*****@*****.**"); mail.Subject = " תזכורת נסיעה "; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception e) { 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.To.Add("*****@*****.**"); mail.Subject = " הודעה על ביטול נסיעה "; string urlDetails = "http://*****:*****@gmail.com", "group1111@"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); } catch (Exception e) { throw; } }
/// <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); }
public static bool isInRange(TravelingPassenger travelingPassenger, DateTime fromDate, DateTime toDate) { if (travelingPassenger.FromDate.Date >= fromDate.Date && travelingPassenger.ToDate.Date <= toDate.Date) { return(true); } return(false); }
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; } }
public static int AddTraveling(TravelingPassenger traveling) { try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { Passenger passenger = ctx.Passengers.FirstOrDefault(w => w.Id == traveling.PassengerId); traveling.Passenger = passenger; ctx.TravelingPassengers.Add(traveling); ctx.SaveChanges(); return(traveling.TravelingIdPassenger); } } catch { throw; } }
public static List <TravelingDriver> GetTravelingsToPassenger(TravelingPassenger travelingPassenger) { try { using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities()) { List <TravelingDriver> matchDrivers = db.TravelingDrivers.ToList() .Where(w => w.IsActive == true && isSuitibale(travelingPassenger, w) == true).ToList(); return(matchDrivers); } } catch (Exception e) { throw new Exception("error"); } }
/// <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> send mail to suitable driver /// </summary> public static void sendMailSuitableDriver(TravelingPassenger travelingPassenger, TravelingDriverDTO travelingDriver) { string gender = ""; 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.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); //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 double GetDistanceDestination(TravelingPassenger travelingPassenger, string source) { string uri = "https://maps.googleapis.com/maps/api/distancematrix/xml?key=AIzaSyD7Wui1ikC-x4CMLYBpPz-8Yutf2l3glNo&origins=" + source + "&destinations=" + travelingPassenger.Destination + "&mode=driving" + " & units=imperial&sensor=false"; WebClient wc = new WebClient(); try { string geoCodeInfo = wc.DownloadString(uri); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(geoCodeInfo); var distance = xmlDoc.DocumentElement.SelectSingleNode("/DistanceMatrixResponse/row/element/distance/text").InnerText; string st = distance.Substring(0, distance.Length - 2); double p = (Convert.ToDouble(st)) * 1.609344; return(p); } catch (Exception e) { return(-1); } }
public static void DeleteTravelingRange(TravelingPassenger traveling) { try { using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities()) { var travelRanges = db.TravelPassengerRanges.ToList() .Where(t => t.Id == traveling.TravelingIdPassenger && 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(TravelingPassenger travelingPassenger) { int range; TimeSpan timeSpan; DateTime date = travelingPassenger.FromDate; try { using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities()) { Passenger passenger = ctx.Passengers.FirstOrDefault(w => w.Id == travelingPassenger.PassengerId); travelingPassenger.Passenger = passenger; timeSpan = travelingPassenger.ToDate.Date - travelingPassenger.FromDate.Date; range = timeSpan.Days; for (int i = 0; i < range; i++) { TravelPassengerRange travelDateRange = new TravelPassengerRange() { Id = travelingPassenger.TravelingIdPassenger, Date = date, IsActive = true }; if (travelingPassenger.Weekday.Contains(((int)date.DayOfWeek + 1).ToString())) { travelDateRange.TravelingPassenger = ctx.TravelingPassengers.FirstOrDefault(w => w.TravelingIdPassenger == travelDateRange.Id); ctx.TravelPassengerRanges.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 mail to suitable driver /// </summary> public static void sendMailSuitableDriver(TravelingPassenger travelingPassenger, TravelingDriverDTO travelingDriver) { string gender = ""; 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); } 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; } }
/// <summary> return all the match travelings to travelingPassenger /// </summary> public static List <TravelingDriverDTO> GetTravelingsToPassenger(int id) { TravelingPassenger t = TravelingPassengerDal.GetTraveling(id); return(TravelingDriverConverters.GetListTravelingsDTO(DAL.TravelingDriverDal.GetTravelingsToPassenger(t))); }
/// <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); } }