public IQueryable<Flight> GridViewFlightsAdmin_GetData([Control] string dropDownListFromAirport, [Control] string dropDownListEndPoint) { var db = new AirPortDbContext(); if (dropDownListFromAirport != null && dropDownListEndPoint != null && dropDownListEndPoint == dropDownListFromAirport) { ErrorSuccessNotifier.AddInfoMessage("Start and Endpoint must be different!"); return null; } if (dropDownListFromAirport != null && dropDownListEndPoint != null) { return db.Flights.Where(f => f.FromAirPort == dropDownListFromAirport && f.ToAirPort == dropDownListEndPoint); } else if (dropDownListFromAirport != null) { return db.Flights.Where(f => f.FromAirPort == dropDownListFromAirport); } else if (dropDownListEndPoint != null) { return db.Flights.Where(f => f.FromAirPort == dropDownListEndPoint); } return db.Flights.OrderBy(f => f.FlightDate); }
public IQueryable<string> DropDownListToAirport_GetData() { var db = new AirPortDbContext(); return db.Flights .GroupBy(f => f.ToAirPort) .Select(f => f.Key) .OrderBy(f => f); }
protected void ButtonDetails_Command(object sender, CommandEventArgs e) { var id = Convert.ToInt32(e.CommandArgument); var context = new AirPortDbContext(); // TODO - Add DTO here var ticketDetails = context.Logs.Include("Ticket").Include("User").Where(l => l.Id == id).ToList(); this.ListViewDetails.DataSource = ticketDetails; this.ListViewDetails.DataBind(); this.ListViewDetails.Visible = true; }
private void LoadImageAvatar() { var dbContext = new AirPortDbContext(); using (dbContext) { var userId = User.Identity.GetUserId(); var user = dbContext.Users.Find(userId); if (user.Image != null) { this.profileImage.Src = "data:image/jpeg;base64," + Convert.ToBase64String(user.Image); } } }
// The return type can be changed to IEnumerable, however to support // paging and sorting, the following parameters must be added: // int maximumRows // int startRowIndex // out int totalRowCount // string sortByExpression public IQueryable<AirPortSystem.Models.Log> ListBoxPosts_GetData() { var userName = Context.User.Identity.Name; var context = new AirPortDbContext(); var user = context.Users.Where(u => u.UserName == userName).FirstOrDefault(); // TODO - Add DTO here var userTickets = context.Logs.Include("Ticket").Include("User").Where(l => l.User.Id == user.Id); return userTickets; }
protected void ButtonAddFlight_Click(object sender, EventArgs e) { Control footerControl = null; if (this.GridViewFlightsAdmin.FooterRow != null) { footerControl = this.GridViewFlightsAdmin.FooterRow; } else { footerControl = this.GridViewFlightsAdmin.Controls[0].Controls[0]; } string fromAirport = (footerControl.FindControl("TextBoxFromAirPort") as TextBox).Text; string toAirport = (footerControl.FindControl("TextBoxToAirPort") as TextBox).Text; DateTimePicker dtp = (footerControl.FindControl("DateTimePicker") as DateTimePicker); string date = (dtp.FindControl("TextBoxFlightDate") as TextBox).Text; string time = (dtp.FindControl("TextBoxFlightTime") as TextBox).Text; string dateAndTime = date + " " + time; // string result = (dtp.FindControl("TextBoxFlightDate") as TextBox).Text; DateTime flightDate = DateTime.ParseExact(dateAndTime, "dd-MM-yyyy HH:mm", System.Globalization.CultureInfo.InvariantCulture); int availableTickets = int.Parse((footerControl.FindControl("TextBoxAvailableTickets") as TextBox).Text); decimal price = decimal.Parse((footerControl.FindControl("TextBoxPrice") as TextBox).Text); if (fromAirport != null && toAirport != null) { var db = new AirPortDbContext(); Flight flight = new Flight() { FromAirPort = fromAirport, ToAirPort = toAirport, FlightDate = flightDate, AvailableTickets = availableTickets, Price = price }; db.Flights.Add(flight); db.SaveChanges(); (footerControl.FindControl("TextBoxFromAirPort") as TextBox).Text = ""; (footerControl.FindControl("TextBoxToAirPort") as TextBox).Text = ""; (footerControl.FindControl("TextBoxAvailableTickets") as TextBox).Text = ""; (footerControl.FindControl("TextBoxPrice") as TextBox).Text = ""; DataBind(); } }
// The return type can be changed to IEnumerable, however to support // paging and sorting, the following parameters must be added: // int maximumRows // int startRowIndex // out int totalRowCount // string sortByExpression public IQueryable<NumberOfFlightsToModel> NumberOfFlightsToGridView_GetData() { var context = new AirPortDbContext(); var groupedLogs = context.Flights.GroupBy(x => x.ToAirPort); var output = new List<NumberOfFlightsToModel>(); foreach (var item in groupedLogs) { output.Add(new NumberOfFlightsToModel() { Destination = item.FirstOrDefault().ToAirPort, NumberOfFlights = item.Count() }); } return output.OrderByDescending(x => x.NumberOfFlights).AsQueryable<NumberOfFlightsToModel>(); }
GridViewFlightsAdmin_GetData([Control] string dropDownListFromAirport, [Control] string dropDownListEndPoint) { var db = new AirPortDbContext(); if (dropDownListFromAirport != null && dropDownListEndPoint != null) { return db.Flights.Where(f => f.FromAirPort == dropDownListFromAirport && f.ToAirPort == dropDownListEndPoint).Where(f => f.FlightDate >= DateTime.Now); } else if (dropDownListFromAirport != null) { return db.Flights.Where(f => f.FromAirPort == dropDownListFromAirport).Where(f => f.FlightDate >= DateTime.Now); } else if (dropDownListEndPoint != null) { return db.Flights.Where(f => f.FromAirPort == dropDownListEndPoint).Where(f => f.FlightDate >= DateTime.Now); } return db.Flights.OrderBy(f => f.FlightDate).Where(f => f.FlightDate >= DateTime.Now); }
// The return type can be changed to IEnumerable, however to support // paging and sorting, the following parameters must be added: // int maximumRows // int startRowIndex // out int totalRowCount // string sortByExpression public IQueryable<NumberOfTicketsBoughtModel> TicketsByDateGridView_GetData() { var context = new AirPortDbContext(); var groupedLogs = from log in context.Logs let dateTime = log.DateBought group log by new { y = dateTime.Year, m = dateTime.Month, d = dateTime.Day} into g select g; var output = new List<NumberOfTicketsBoughtModel>(); foreach (var item in groupedLogs) { output.Add(new NumberOfTicketsBoughtModel() { BoughtDate = item.FirstOrDefault().DateBought.Date, NumberOfTickets = item.Count() }); } return output.OrderByDescending(x => x.BoughtDate).AsQueryable<NumberOfTicketsBoughtModel>(); }
public void GridViewFlightsAdmin_UpdateItem(int id) { var db = new AirPortDbContext(); Flight item = db.Flights.FirstOrDefault(f => f.Id == id); if (item == null) { ModelState.AddModelError("", String.Format("Item with id {0} was not found", id)); return; } TryUpdateModel(item); if (ModelState.IsValid) { db.SaveChanges(); } }
public void GridViewFlightsAdmin_DeleteItem(int id) { var db = new AirPortDbContext(); AirPortSystem.Models.Flight item = db.Flights.FirstOrDefault(f => f.Id == id); if (item == null) { ModelState.AddModelError("", String.Format("Item with id {0} was not found", id)); return; } else { db.Flights.Remove(item); db.SaveChanges(); } }
protected void LoadImageAvatar() { var dbContext = new AirPortDbContext(); using (dbContext) { var userId = Context.User.Identity.GetUserId(); var user = dbContext.Users.Find(userId); if (user != null && user.Image != null) { var image = this.LoginView.FindControl("MiniAvatar") as HtmlImage; image.Src = "data:image/jpeg;base64," + Convert.ToBase64String(user.Image); } } }
private bool ShouldRemoveItem(string menuText) { var dbContext = new AirPortDbContext(); var userId = Context.User.Identity.GetUserId(); var user = dbContext.Users.Find(userId); if (menuText == "Logout" && user == null) { return true; } if (menuText == "Admin" && user == null) { return true; } if (menuText == "Logs" && user == null) { return true; } if (menuText == "My tickets" && user == null) { return true; } if (user != null) { if (menuText == "Admin" && user.Roles.Count == 1) { return true; } if (menuText == "Logs" && user.Roles.Count == 1) { return true; } if (menuText == "My tickets" && user.Roles.Count == 2) { return true; } } if (menuText == "Login" && user != null) { return true; } if (menuText == "Register" && user != null) { return true; } return false; }
protected void ButtonBuyTicket_Click(object sender, EventArgs e) { if (Context.User.Identity.IsAuthenticated) { string user = Context.User.Identity.Name; int flightId = int.Parse(Request.Params["FlightId"]); string cardType = (this.DetailsViewBuyTicket.FindControl("CardType") as DropDownList).SelectedValue; string cardNumber = (this.DetailsViewBuyTicket.FindControl("TextBoxCardNumber") as TextBox).Text; if (cardType == null || cardType == string.Empty) { ErrorSuccessNotifier.AddErrorMessage("Please select card type"); } else if (cardNumber == null || cardNumber == string.Empty) { ErrorSuccessNotifier.AddErrorMessage("Please enter card number"); } else { try { using (TransactionScope scope = new TransactionScope()) { var db = new AirPortDbContext(); AirPortUser currentUser = db.Users.FirstOrDefault(u => u.UserName == user); Flight currentFlight = db.Flights.FirstOrDefault(f => f.Id == flightId); Ticket currentTicket = new Ticket() { Flight = currentFlight, User = currentUser }; Log currentLog = new Log() { CardNumber = cardNumber, CardType = cardType, DateBought = DateTime.Now, Ticket = currentTicket, User = currentUser }; if (currentFlight.AvailableTickets <= 0) { ErrorSuccessNotifier.AddInfoMessage("No tickets available!"); ErrorSuccessNotifier.ShowAfterRedirect = true; Response.Redirect("~/", false); return; } currentFlight.AvailableTickets = currentFlight.AvailableTickets - 1; db.Tickets.Add(currentTicket); db.Logs.Add(currentLog); db.SaveChanges(); scope.Complete(); ErrorSuccessNotifier.AddSuccessMessage("Ticket bought successfully!"); ErrorSuccessNotifier.ShowAfterRedirect = true; Response.Redirect("~/", false); } } catch (Exception ex) { ErrorSuccessNotifier.AddErrorMessage(ex); } } } else { ErrorSuccessNotifier.AddErrorMessage("Please login!"); } }
// The id parameter should match the DataKeyNames value set on the control // or be decorated with a value provider attribute, e.g. [QueryString]int id public AirPortSystem.Models.Flight DetailsViewBuyTicket_GetItem([QueryString] int? FlightId) { var db = new AirPortDbContext(); return db.Flights.FirstOrDefault(f => f.Id == FlightId); }
protected void UploadBtn_Click(object sender, EventArgs e) { if (ValidateFile()) { var dbContext = new AirPortDbContext(); using (dbContext) { var length = UploadAvatar.PostedFile.ContentLength; byte[] fileData = new byte[length + 1]; Stream fileStream = UploadAvatar.PostedFile.InputStream; fileStream.Read(fileData, 0, length); var userId = User.Identity.GetUserId(); var user = dbContext.Users.Find(userId); user.Image = fileData; this.profileImage.Src = "data:image/jpeg;base64," + Convert.ToBase64String(fileData); dbContext.SaveChanges(); this.SuccessMessage = "Image Upload Successful!"; successMessage.Visible = !String.IsNullOrEmpty(SuccessMessage); } } }