Ejemplo n.º 1
0
 private void InitPageContent(MovieScreeningDTO MovieScreening)
 {
     MoviePoster.ImageUrl = "/Content/Images/" + MovieScreening.PosterFileName;
     MovieTitle.Text      = MovieScreening.MovieTitle;
     MovieStartDate.Text  = MovieScreening.StartDate.ToString();
     MovieEndDate.Text    = MovieScreening.EndDate.ToString();;
 }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["Done"] == "1")
            {
                RaiseAlert("Tak for din bestilling - Bekræftelse er sendt til din mail");
            }
            int                      ScreeningId    = Convert.ToInt32(Request.QueryString["Id"]);
            SQLConnector             con            = new SQLConnector();
            List <MovieScreeningDTO> MovieScreening = new List <MovieScreeningDTO>();

            MovieScreening = con.GetAll("MovieScreening", "ScreeningId", ScreeningId.ToString(), typeof(int)).Cast <MovieScreeningDTO>().ToList();
            MovieScreeningDTO MovieScreeningSingle = new MovieScreeningDTO();

            try
            {
                MovieScreeningSingle = MovieScreening[1];
            }
            catch (Exception)
            {
                RaiseAlert("Filmen kunne ikke findes - prøv igen");
                return;
            }

            // Initialize page with content from requested movie
            InitPageContent(MovieScreeningSingle);

            // Draw dynamic html for reservation
            foreach (var SeatRow in MovieScreening.Select(x => x.SeatRow).Distinct())
            {
                TableRow tr = new TableRow();
                tr.ID = "TableRow" + SeatRow.ToString();
                foreach (var item in MovieScreening.Where(x => x.SeatRow == SeatRow))
                {
                    // Afhængig af item.AvailableStatusID Indsæt <td> som read-only med en klasse der farver elementet rødt
                    TableCell td = new TableCell()
                    {
                    };
                    td.ID = item.SeatId.ToString();
                    if (true)
                    {
                    }
                    td.Text = String.Format("<a href=\"#\"><span Id=" + "SeatMainContent_" + item.SeatId.ToString() + " class=\"glyphicon glyphicon-print TableSeat " + ((item.AvailableStatusId != 0) ? "BookedSeat" : "") + "\"></span></a>");

                    tr.Cells.Add(td);
                }

                Reservation.Rows.Add(tr);
            }
        }
Ejemplo n.º 3
0
        //Henter alt fra et tablenavn
        public List <object> GetAll(string TableName, string ColumnToCheckName = null, string ValueToMatch = null, Type Type = null)
        {
            List <object> LisReturn    = new List <object>();
            string        FilterString = string.Empty;

            if (ColumnToCheckName != null && ValueToMatch != null && Type != null)
            {
                if (Type == typeof(decimal))
                {
                    FilterString = (" WHERE " + ColumnToCheckName + " = " + ValueToMatch.Replace(",", "."));
                }
                else if (Type == typeof(string))
                {
                    FilterString = (" WHERE " + ColumnToCheckName + " = '" + ValueToMatch + "'");
                }
                else if (Type == typeof(bool))
                {
                    FilterString = (" WHERE " + ColumnToCheckName + " = " + (Convert.ToBoolean(ValueToMatch) ? 1 : 0));
                }
                else if (Type == typeof(DateTime))
                {
                    FilterString = (" WHERE " + ColumnToCheckName + " = '" + Convert.ToDateTime(ValueToMatch).ToString("yyyy-MM-dd HH:mm:ss.fffffff") + "'");
                }
                else if (Type == typeof(int))
                {
                    FilterString = (" WHERE " + ColumnToCheckName + " = " + ValueToMatch);
                }
            }
            try
            {
                using (SqlConnection Con = new SqlConnection(ConfigConnectionString))
                {
                    Con.Open();
                    string CommandString = "SELECT * FROM " + TableName + FilterString;
                    using (SqlCommand Com = new SqlCommand(CommandString, Con))
                    {
                        using (SqlDataReader reader = Com.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                bool   Skip      = false;
                                object ObjReturn = new object();
                                switch (TableName)
                                {
                                case "Movie":
                                    MovieDTO Movie = new MovieDTO();
                                    ObjReturn = Movie;
                                    break;

                                case "Reservation":
                                    ReservationDTO Reservation = new ReservationDTO();
                                    ObjReturn = Reservation;
                                    break;

                                case "Resource":
                                    ResourceDTO Resource = new ResourceDTO();
                                    ObjReturn = Resource;
                                    break;

                                case "Screening":
                                    ScreeningDTO Screening = new ScreeningDTO();
                                    ObjReturn = Screening;
                                    break;

                                case "Seat":
                                    SeatDTO Seat = new SeatDTO();
                                    ObjReturn = Seat;
                                    break;

                                case "Theater":
                                    TheaterDTO Theater = new TheaterDTO();
                                    ObjReturn = Theater;
                                    break;

                                case "MovieScreening":
                                    MovieScreeningDTO MovieScreening = new MovieScreeningDTO();
                                    ObjReturn = MovieScreening;
                                    break;

                                case "ResourceScreening":
                                    ResourceScreeningDTO ResourceScreening = new ResourceScreeningDTO();
                                    ObjReturn = ResourceScreening;
                                    break;

                                default:
                                    ObjReturn = null;
                                    Skip      = true;
                                    break;
                                }
                                if (!Skip)
                                {
                                    //Løber igennem properties og sætter property til værdien den finder i rækkens felt med samme kolonnenavn som propertyname
                                    foreach (PropertyInfo pi in ObjReturn.GetType().GetProperties())
                                    {
                                        pi.SetValue(ObjReturn, reader.GetValue(reader.GetOrdinal(pi.Name)));
                                    }
                                    LisReturn.Add(ObjReturn);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                LisReturn.Add(Ex);
            }
            return(LisReturn);
        }
Ejemplo n.º 4
0
        //Henter en række fra et tablenavn hvor id findes
        public object Get(string TableName, int Id)
        {
            object ObjReturn = new object();

            switch (TableName)
            {
            case "Movie":
                MovieDTO Movie = new MovieDTO();
                ObjReturn = Movie;
                break;

            case "Reservation":
                ReservationDTO Reservation = new ReservationDTO();
                ObjReturn = Reservation;
                break;

            case "Resource":
                ResourceDTO Resource = new ResourceDTO();
                ObjReturn = Resource;
                break;

            case "Screening":
                ScreeningDTO Screening = new ScreeningDTO();
                ObjReturn = Screening;
                break;

            case "Seat":
                SeatDTO Seat = new SeatDTO();
                ObjReturn = Seat;
                break;

            case "Theater":
                TheaterDTO Theater = new TheaterDTO();
                ObjReturn = Theater;
                break;

            case "MovieScreening":
                MovieScreeningDTO MovieScreening = new MovieScreeningDTO();
                ObjReturn = MovieScreening;
                break;

            default:
                ObjReturn = null;
                break;
            }
            if (ObjReturn != null)
            {
                try
                {
                    using (SqlConnection con = new SqlConnection(ConfigConnectionString))
                    {
                        con.Open();
                        using (SqlCommand com = new SqlCommand("SELECT * FROM " + TableName + " where id = " + Id.ToString(), con))
                        {
                            using (SqlDataReader reader = com.ExecuteReader())
                            {
                                while (reader.Read())
                                {
                                    //Løber igennem properties og sætter property til værdien den finder i rækkens felt med samme kolonnenavn som propertyname
                                    foreach (PropertyInfo pi in ObjReturn.GetType().GetProperties())
                                    {
                                        pi.SetValue(ObjReturn, reader.GetValue(reader.GetOrdinal(pi.Name)));
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception Ex)
                {
                    return(Ex);
                }
            }
            return(ObjReturn);
        }
Ejemplo n.º 5
0
        protected void ReservationConfirm_Click(object sender, EventArgs e)
        {
            // Input checks
            if (String.IsNullOrEmpty(ChosenSeatString.Value))
            {
                RaiseAlert("Minimum et sæde skal vælges.");
                return;
            }
            // Initialize variables
            int ScreeningId                   = Convert.ToInt32(Request.QueryString["Id"]);
            int UserId                        = 0;
            List <ResourceDTO> Resource       = new List <ResourceDTO>();
            ResourceDTO        resourceSingle = new ResourceDTO();
            SQLConnector       con            = new SQLConnector();

            Resource = con.GetAll("Resource", "LoginName", Context.User.Identity.Name, typeof(string)).Cast <ResourceDTO>().ToList();

            try
            {
                resourceSingle = Resource[0];
            }
            catch (Exception)
            {
                throw;
            }
            UserId = resourceSingle.Id;

            MovieScreeningDTO MovieScreeningSingle = new MovieScreeningDTO();

            List <MovieScreeningDTO> MovieScreening = new List <MovieScreeningDTO>();

            MovieScreening = con.GetAll("MovieScreening", "ScreeningId", ScreeningId.ToString(), typeof(int)).Cast <MovieScreeningDTO>().ToList();
            try
            {
                MovieScreeningSingle = MovieScreening[0];
            }
            catch (Exception)
            {
                return;
            }

            List <String> ConfirmedSeats;

            ConfirmedSeats = ChosenSeatString.Value.Split(',').ToList();

            ReservationDTO Reservation = new ReservationDTO()
            {
                ResourceId  = UserId,
                ScreeningId = ScreeningId
            };

            // Ensure that other users haven't reserved we're about to insert.
            // Get existing reservations
            List <ReservationDTO> ExistingReservation = new List <ReservationDTO>();

            ExistingReservation = con.GetAll("Reservation", "ScreeningId", ScreeningId.ToString(), typeof(int)).Cast <ReservationDTO>().ToList();

            // Only check against ConfirmedSeats if there are existing reservations
            if (ExistingReservation.Count() > 0)
            {
                foreach (var item in ConfirmedSeats)
                {
                    if (ExistingReservation.Where(x => x.SeatId == Convert.ToInt32(item.Substring(12))).Count() > 0)
                    {
                        Response.Redirect("~/MovieReservation?ScreeningId=" + ScreeningId.ToString() + "\"");
                        RaiseAlert("Sæderne er ikke længere ledige - prøv igen");
                        return;
                    }
                }
            }
            // Opret nye reservationer
            foreach (var item in ConfirmedSeats)
            {
                Reservation.SeatId = Convert.ToInt32(item.Substring(12));
                // Create screening
                con.CreateObject(Reservation);
            }
            // Redirect to same page
            string strMessage = string.Format("Hej {0}, tak for din bestilling!\r\n\r\nDu har reserveret {1} {3} til filmen {2}\r\n\r\nMvh.\r\nTEC BioBooking!", resourceSingle.FirstName, ConfirmedSeats.Count().ToString(), MovieScreeningSingle.MovieTitle, (ConfirmedSeats.Count() == 1 ? "billet" : "billetter"));
            string strSubject = string.Format("Tak for din bestilling");
            Mailor mailor     = new Mailor();

            mailor.SendMail(resourceSingle.Email, strSubject, strMessage);
            Response.Redirect("/MovieReservation?Id=" + ScreeningId.ToString() + "&Done=1");
        }