コード例 #1
0
        public ShowAllTrips(string toCity, string fromCity, TRAINDBEntities db, DateTime dt) : this()
        {
            int fromCityID = -1;
            int toCityID = -1;
            var fromcitycommand = db.Cities.FirstOrDefault(c => c.Name == toCity);
            if (fromcitycommand == null)
            {
                MessageBox.Show(fromCity + "not found");
            }
            else
            {
                fromCityID = fromcitycommand.ID;
            }
            var tocitycommand = db.Cities.FirstOrDefault(c => c.Name == fromCity);
            if (tocitycommand == null)
            {
                MessageBox.Show(toCity + " not found");
            }
            else
            {
                toCityID = tocitycommand.ID;
            }
            var getallTripsForday = from s in db.Schedules
                                    where s.StartingCity == fromCityID
                                    && s.FinalCity == toCityID
                                    && DbFunctions.DiffDays(s.DateAndTime, dt) < 1 && DbFunctions.DiffDays(s.DateAndTime, dt) > -1
                                    select s;
            scheduleSelectedDate.ItemsSource = getallTripsForday.ToList();

        }
コード例 #2
0
 public static void BuyTicket(int userID, int ticketID)
 {
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         if (ExistsUser(userID) && ExistsTicket(ticketID))
         {
             User temp = GetUser(userID);
             var ticket = from t in db.Tickets
                          where t.ID == ticketID
                          select t;
             foreach (var item in ticket)
             {
                 if (!item.Available)
                 {
                     MessageBox.Show("Ticket is unavailable");
                     return;
                 }
                 else
                 {
                     UpdateTicketAvailbality(ticketID);
                     UpdateTicketIDinUser(userID, ticketID);
                     UpdateMoneyInUserCreditcard(userID, ticketID);
                 }
             }
         }
         else
         {
             MessageBox.Show("Ticket or User not found");
             return;
         }
     }
 }
コード例 #3
0
 private void showButton_Click(object sender, RoutedEventArgs e)
 {
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         DateTime dt = DateTime.Parse(DatePicker.SelectedDate.Value.ToString());
         MessageBox.Show(DatePicker.SelectedDate.Value.ToString());
         ShowAllTrips sw = new ShowAllTrips(fromTextBox.Text, toTextBox.Text, db, dt);
         sw.ShowDialog();
     }
 }
コード例 #4
0
 private static void UpdateTicketIDinUser(int userID, int ticketID)
 {
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         var update = db.Tickets.SingleOrDefault(t => t.ID == ticketID);
         if (update != null)
         {
             update.UserID = userID;
             db.SaveChanges();
         }
     }
 }
コード例 #5
0
        private void log_Click(object sender, RoutedEventArgs e)
        {
            List<string> admins = new List<string>() { "r" };
            textBlock.Visibility = Visibility.Visible;
            textBlock1.Visibility = Visibility.Visible;
            usernametextBox.Visibility = Visibility.Visible;
            passtextBox1.Visibility = Visibility.Visible;

            TRAINDBEntities db = new TRAINDBEntities();
            if ((usernametextBox.Text != string.Empty) || (passtextBox1.Text != string.Empty))
            {
                var userLog = db.Users.FirstOrDefault(u => u.Username.Equals(usernametextBox.Text));
                if (userLog != null)
                {
                    if (userLog.Password.Equals(passtextBox1.Text))
                    {
                        logout.Visibility = Visibility.Visible;
                        log.IsEnabled = false;
                        MessageBox.Show("Done!");
                        textBlock.Visibility = Visibility.Hidden;
                        textBlock1.Visibility = Visibility.Hidden;
                        usernametextBox.Visibility = Visibility.Hidden;
                        passtextBox1.Visibility = Visibility.Hidden;
                        isLogged = true;
                        if (admins.Contains(usernametextBox.Text))
                        {
                            AdminIsHere();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Incorrect passowrd or username");
                    }
                }
                else
                {
                    MessageBox.Show("Incorrect passowrd or username");
                }

            }
            else
            {
                MessageBox.Show("Incorrect passowrd or username");
            }

        }
コード例 #6
0
 private static bool ExistsUser(int userID)
 {
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         var result = from u in db.Users
                      where u.ID == userID
                      select u;
         if (result.Count() == 0)
         {
             return false;
         }
     }
     return true;
 }
コード例 #7
0
 private static User GetUser(int id)
 {
     User temp = new User();
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         var user = from u in db.Users
                    where u.ID == id
                    select u;
         foreach (var item in user)
         {
             temp = item;
         }
     }
     return temp;
 }
コード例 #8
0
 private static void UpdateTicketAvailbality(int ticketID)
 {
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         var availble = db.Tickets.SingleOrDefault(t => t.ID == ticketID);
         if (availble != null)
         {
             availble.Available = false;
             db.SaveChanges();
         }
     }
 }
コード例 #9
0
 private static double Discout(int userID)
 {
     double disc = 0;
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         var discount = from u in db.Users
                        join d in db.Discounts on u.DiscountNumber equals d.ID
                        where u.ID == userID
                        select new { Discout = d.DiscountAmount };
         foreach (var item in discount)
         {
             disc = item.Discout;
         }
     }
     return disc;
 }
コード例 #10
0
 private static double GetTicketPrice(int ticketID)
 {
     double price = 0;
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         var getPrice = from t in db.Tickets
                        where t.ID == ticketID
                        select t;
         foreach (var item in getPrice)
         {
             price = item.Price;
         }
     }
     return price;
 }
コード例 #11
0
 private static void UpdateMoneyInUserCreditcard(int userID, int ticketID)
 {
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         double ticketPrice = GetTicketPrice(ticketID);
         double discount = Discout(userID);
         int userCreditcardID = 0;
         var credicardID = (from u in db.Users
                            where u.ID == userID
                            select u.CreditCardID);
         foreach (var item in credicardID)
         {
             userCreditcardID = item;
         }
         var update = db.CraditCards.SingleOrDefault(c => c.ID == userCreditcardID);
         if (update != null)
         {
             update.Amount -= (ticketPrice - (ticketPrice * discount));
             db.SaveChanges();
         }
     }
 }
コード例 #12
0
 private static bool ExistsTicket(int ticketID)
 {
     Ticket tik = new Ticket();
     tik.ID = ticketID;
     using (TRAINDBEntities db = new TRAINDBEntities())
     {
         var result = from t in db.Tickets
                      where t.ID == ticketID
                      select t;
         if (result.Count() == 0)
         {
             return false;
         }
     }
     return true;
 }