public static List <TravelingDriver> GetTravelNotAttached(int id)
        {
            try
            {
                using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
                {
                    var travelingsD = db.TravelingDrivers.Where(t => t.DriverId == id).ToList();
                    List <TravelingDriver> travelingDNotReg = new List <TravelingDriver>();
                    var q = db.Registerations.Where(w => w.TravelingDriver.Driver.Id == id).Select(t => t.TravelingDriver).ToList();
                    foreach (var t in travelingsD)
                    {
                        var travelInReg = q.Where(r => r.TravelingIdDriver == t.TravelingIdDriver).FirstOrDefault();
                        if (travelInReg == null)
                        {
                            travelingDNotReg.Add(t);
                        }
                    }

                    if (travelingDNotReg == null)
                    {
                        return(null);
                    }
                    return(travelingDNotReg);
                }
            }
            catch (Exception e)
            {
                throw new Exception("error");
            }
        }
        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 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; }
 }
Пример #4
0
 public static List <int> GetGender()
 {
     try
     {
         using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
         {
             List <int> genderList = new List <int>();
             int        female = 0, male = 0;
             foreach (var item in db.Users.ToList())
             {
                 if (item.Gender == true)
                 {
                     male++;
                 }
                 else
                 {
                     female++;
                 }
             }
             genderList.Add(female);
             genderList.Add(male);
             return(genderList);
         }
     }
     catch (Exception e)
     {
         throw new Exception("error");
     }
 }
Пример #5
0
 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; }
 }
Пример #6
0
        public static bool UpdateUser(User user, string id)
        {
            try
            {
                using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
                {
                    var q = ctx.Users.FirstOrDefault(w => w.Identity.CompareTo(id) == 0);
                    if (q == null)
                    {
                        return(false);
                    }
                    q.Name             = user.Name;
                    q.Mail             = user.Mail;
                    q.Gender           = user.Gender;
                    q.Cellphone        = user.Cellphone;
                    q.CreditCardNumber = user.CreditCardNumber;
                    q.Validity         = user.Validity;
                    q.Cvv         = user.Cvv;
                    q.IdCardOwner = user.IdCardOwner;

                    ctx.SaveChanges();
                    return(true);
                }
            }
            catch { throw; }
        }
        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; }
        }
Пример #8
0
 public static void AddPassenger(Passenger passenger)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             ctx.Passengers.Add(passenger);
             ctx.SaveChanges();
         }
     }
     catch { throw; }
 }
 public static List <RegistrationDateRange> GetRegisterationDates()
 {
     try
     {
         using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
         {
             return(db.RegistrationDateRanges.ToList());
         }
     }
     catch (Exception e)
     {
         throw new Exception("error");
     }
 }
Пример #10
0
 public static List <TravelDriverRange> GetTravelRanges()
 {
     try
     {
         using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
         {
             return(db.TravelDriverRanges.ToList());
         }
     }
     catch (Exception e)
     {
         throw new Exception("error");
     }
 }
Пример #11
0
 public static List <User> GetUsers()
 {
     try
     {
         using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
         {
             return(db.Users.ToList());
         }
     }
     catch (Exception e)
     {
         throw new Exception("error");
     }
 }
Пример #12
0
 public static List <Passenger> GetPassengers()
 {
     try
     {
         using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
         {
             return(db.Passengers.Include("Users").ToList());
         }
     }
     catch (Exception e)
     {
         throw new Exception("error");
     }
 }
Пример #13
0
 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 Registeration GetRegisterationByPassengerId(int id)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.Registerations.FirstOrDefault(w => w.TravelingIdPassenger == id);
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
Пример #15
0
 public static TravelingPassenger GetTraveling(int id)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.TravelingPassengers.FirstOrDefault(w => w.TravelingIdPassenger == id);
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
Пример #16
0
 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 TravelReporting GetTravelReport(int travelingIdDriver, DateTime dateInRange)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.TravelReportings.FirstOrDefault(w => w.IdTravelingDriver == travelingIdDriver && w.Date.Date == dateInRange.Date);
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
Пример #18
0
 public static Payment AddPayment(Payment payment)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             ctx.Payments.Add(payment);
             ctx.SaveChanges();
         }
         return(payment);
     }
     catch (Exception e)
     {
         return(new Payment());
     }
 }
 public static List <RegistrationDateRange> GetDateByRegistrationId(int id)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.RegistrationDateRanges.Where(w => w.Registeration.Id == id).ToList();
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
 public static List <RegistrationDateRange> GetRegisterationNow(TravelDriverRange travelDriver)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.RegistrationDateRanges.ToList().Where(w => w.Registeration.TravelingIdDriver == travelDriver.Id && w.DateInRange.Date == travelDriver.Date.Date).ToList();
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
 public static List <RegistrationDateRange> GetTravelingsNow()
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             List <RegistrationDateRange> registerations = ctx.RegistrationDateRanges.ToList().Where(w => isNow(w) == true).ToList();
             if (registerations.Count == 0)
             {
                 return(null);
             }
             return(registerations);
         }
     }
     catch { throw; }
 }
 public static RegistrationDateRange GetDate(int id, DateTime date)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.RegistrationDateRanges.FirstOrDefault(w => w.Id == id && w.DateInRange.Date == date.Date);
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
Пример #23
0
 public static TravelDriverRange GetTravelRange(int id)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.TravelDriverRanges.FirstOrDefault(w => w.Identity == id);
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
 public static List <Registeration> GetRegisterationByDriverId(int id)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.Registerations.Where(w => w.TravelingIdDriver == id).ToList();
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
Пример #25
0
 public static int GetAvgPassengers()
 {
     try
     {
         using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
         {
             int count = db.TravelingDrivers.Count(p => p.Price >= 0);
             int sum   = db.TravelingDrivers.Where(x => x.Price >= 0).Sum(p => (int)p.Price);
             return(sum / count);
         }
     }
     catch (Exception e)
     {
         throw new Exception("error");
     }
 }
Пример #26
0
        public static List <Payment> GetPaymentsD(int id)
        {
            try
            {
                using (Travel_In_GroupDBEntities db = new Travel_In_GroupDBEntities())
                {
                    return(db.Payments.Where(p => p.Registeration.TravelingDriver.DriverId == id).ToList());
                }
            }
            catch (Exception e)
            {
                return(null);

                throw new Exception("error");
            }
        }
Пример #27
0
 public static Driver GetDriver(string id)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.Drivers.FirstOrDefault(w => w.Identity == id);
             if (q == null)
             {
                 return(null);
             }
             return(q);
         }
     }
     catch { throw; }
 }
 public static void StatusComplain(int id, DateTime dateInRange)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.RegistrationDateRanges.FirstOrDefault(w => w.Id == id && w.DateInRange == dateInRange);
             if (q == null)
             {
                 return;
             }
             q.IsComplain = true;
             ctx.SaveChanges();
         }
     }
     catch { throw; }
 }
 public static void UpdatePay(int idTravelingDriver, DateTime date)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             var q = ctx.TravelReportings.FirstOrDefault(w => w.IdTravelingDriver == idTravelingDriver && w.Date.Date == date.Date);
             if (q == null)
             {
                 return;
             }
             q.IsPay = true;
             ctx.SaveChanges();
         }
     }
     catch { throw; }
 }
Пример #30
0
 public static void AddDriver(Driver driver)
 {
     try
     {
         using (Travel_In_GroupDBEntities ctx = new Travel_In_GroupDBEntities())
         {
             User user = ctx.Users.FirstOrDefault(w => w.Identity.CompareTo(driver.Identity) == 0);
             driver.User = user;
             ctx.Drivers.Add(driver);
             ctx.SaveChanges();
         }
     }
     catch (Exception e)
     {
         throw;
     }
 }