コード例 #1
0
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var result = ModernDialog.ShowMessage("Are you sure, you want to delete Layout ?", "Confirmation", MessageBoxButton.YesNo);

                if (result == MessageBoxResult.No)
                {
                    return;
                }

                var deleteResult = new SeatLayoutConfig().DeleteLayout(Convert.ToInt32(cmbScreen.SelectedValue), Convert.ToInt32(cmbClass.SelectedValue));

                ModernDialog.ShowMessage(deleteResult == 1 ? "Screen Layout deleted successfully." : "Sorry!.. We are unable to delete Screen Layout. Screen layout is in using", "Alert", MessageBoxButton.OK);

                if (deleteResult == 1)
                {
                    Helper.LoadDropDownSource(cmbClass, new SeatLayoutConfig().GetScreeClasses(Convert.ToInt32(cmbScreen.SelectedValue)), "ScreenClassName", "ScreenClassId", false);
                }
            }
            catch (Exception ex)
            {
                ManageLoadingDataVisibility(false, false);
                LogExceptions.LogException(ex);
            }
        }
コード例 #2
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Seats == null || Seats.Count() == 0)
                {
                    txbMessage.Text   = "Please enter Rows and Columns to generate layout";
                    txbMessage.Height = 30;
                    return;
                }
                txbMessage.Height = 0;
                var result = ModernDialog.ShowMessage("Are you sure, you want to Save Layout ?", "Confirmation", MessageBoxButton.YesNo);

                if (result == MessageBoxResult.Yes)
                {
                    ManageLoadingDataVisibility(false, true);
                    Screenclasses objScreenclasses = new Screenclasses();
                    objScreenclasses.ScreenId      = Convert.ToInt32(cmbScreen.SelectedValue);
                    objScreenclasses.ScreenClassId = Convert.ToInt32(cmbClass.SelectedValue);
                    objScreenclasses.RowCount      = Convert.ToInt32(txtRows.Text);
                    objScreenclasses.ColumnCount   = Convert.ToInt32(txtColumns.Text);

                    objScreenclasses.seats = new List <Seat>();

                    foreach (SeatProperties sp in Seats.Where(w => w.Column != 0 && w.Row != 0))
                    {
                        objScreenclasses.seats.Add(new Seat()
                        {
                            ColumnText  = Convert.ToString(sp.ColumnText),
                            ColumnValue = sp.Column,
                            RowText     = sp.RowText,
                            RowValue    = sp.Row
                        });
                    }

                    int insertRresult = new SeatLayoutConfig().BulkInsertSeat(objScreenclasses);

                    if (insertRresult == 1)
                    {
                        Helper.LoadDropDownSource(cmbClass, new SeatLayoutConfig().GetScreeClasses(Convert.ToInt32(cmbScreen.SelectedValue)), "ScreenClassName", "ScreenClassId", false);
                    }

                    ModernDialog.ShowMessage(insertRresult == 1 ? "Screen Layout saved succefully" : "Unable to save Screen Layout at this moment.. Try after sometime", "Alert", MessageBoxButton.OK);

                    ManageLoadingDataVisibility(false, false);
                }
            }
            catch (Exception ex)
            {
                ManageLoadingDataVisibility(false, false);
                LogExceptions.LogException(ex);
            }
        }
コード例 #3
0
        private void cmbMovieTime_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                ManageLoadingDataVisibility(true);

                IEnumerable <Screen> screens = new SeatLayoutConfig().GetScreens(Convert.ToDateTime(dprStartingDate.SelectedDate), Convert.ToInt32((cmbMovieTime.SelectedItem as Movie).Id));

                if (screens == null || screens.Count() == 0)
                {
                    ManageLoadingDataVisibility(false);
                    return;
                }

                Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => Helper.LoadDropDownSource(cmbScreen, screens, "ScreenName", "Id")));
            }
            catch (Exception ex)
            {
                ManageLoadingDataVisibility(false);
                LogExceptions.LogException(ex);
            }
        }
コード例 #4
0
        private void GeneratingLayout()
        {
            try
            {
                Seats = new ObservableCollection <SeatProperties>();
                IEnumerable <Seat> objScreenSeats = new SeatLayoutConfig().GetScreeSeats(Convert.ToInt32(cmbScreen.SelectedValue), 0, (cmbMovieTime.SelectedItem as Movie).Id);

                int columns = objScreenSeats.ToList <Seat>().Max(w => w.ColumnValue);

                var groupList = objScreenSeats.ToList <Seat>().GroupBy(l => l.ScreenClassId)
                                .Select(cl => new Seat
                {
                    ScreenClassId = cl.First().ScreenClassId,
                    RowValue      = cl.Max(c => c.RowValue),
                    ColumnValue   = cl.Max(c => c.ColumnValue),
                    DisplayOrder  = cl.First().DisplayOrder,
                    ScreenClass   = cl.First().ScreenClass
                }).ToList();

                int rowsforAllClasses = groupList.Sum(w => w.RowValue);
                foreach (Seat objscreenClass in groupList.OrderBy(w => w.DisplayOrder))
                {
                    int rows = objscreenClass.RowValue;
                    IEnumerable <Seat> objSubClassSeatsList = objScreenSeats.Where(w => w.ScreenClassId == objscreenClass.ScreenClassId);

                    Seats.Add(new SeatProperties()
                    {
                        CheckboxVisibility = Visibility.Visible,
                        Column             = objscreenClass.ScreenClassId,
                        ColumnText         = Convert.ToString(objscreenClass.ScreenClassId),
                        DisplayText        = objscreenClass.ScreenClass,
                        Id              = 0,
                        IsChecked       = false,
                        IsEnabled       = false,
                        Row             = objscreenClass.ScreenClassId,
                        RowNum          = objscreenClass.ScreenClassId,
                        RowText         = Convert.ToString(objscreenClass.ScreenClassId),
                        ScreenClassId   = objSubClassSeatsList.FirstOrDefault().ScreenClassId,
                        SeatColor       = Helper.ReturnColor("INACTIVE"),
                        SeatHeight      = 25,
                        SeatOrientation = Orientation.Horizontal,
                        SeatWidth       = (25 * columns) + 50,
                        TextVisibility  = Visibility.Visible,
                        VendorId        = objscreenClass.VendorId
                    });

                    for (int row = 1; row <= rows; row++)
                    {
                        GenerateRowNameColumn(objSubClassSeatsList.Where(w => w.RowValue == row).FirstOrDefault(), true, false);
                        foreach (Seat objSeat in objSubClassSeatsList.Where(w => w.RowValue == row).OrderBy(w => w.ColumnValue))
                        {
                            GenerateRowNameColumn(objSeat, false, objSeat.IsReserved != 1);
                        }

                        int currentRowColumns = objSubClassSeatsList.ToList <Seat>().Where(w => w.RowValue == row).Count() > 0 ? objSubClassSeatsList.ToList <Seat>().Where(w => w.RowValue == row).Count() : 0;

                        if (groupList.Where(w => w.ColumnValue == columns).Count() != groupList.Count())
                        {
                            currentRowColumns = currentRowColumns - 1;
                        }

                        if (currentRowColumns > 0 && currentRowColumns < columns)
                        {
                            for (int i = currentRowColumns; i <= columns; i++)
                            {
                                GenerateRowNameColumn(new Seat(), false, false);
                            }
                        }
                    }
                }

                foreach (Seat objSeat in groupList)
                {
                    SeatProperties objGroupSeat = Seats.Where(x => x.Id == 0 && x.ScreenClassId == objSeat.ScreenClassId).FirstOrDefault();

                    objGroupSeat.DisplayText = string.Format("{0} - {1}", objSeat.ScreenClass, Seats.Where(x => x.Id != 0 && x.ScreenClassId == objSeat.ScreenClassId).FirstOrDefault().TicketCost);
                }

                itmSeats.Width       = (25 * (columns + (groupList.Count > 1 ? 2 : 1)));
                itmSeats.Height      = (30 * (rowsforAllClasses + groupList.Count()));
                itmSeats.ItemsSource = Seats;

                ManageLoadingDataVisibility(false);
            }
            catch (Exception ex)
            {
                ManageLoadingDataVisibility(false);
                LogExceptions.LogException(ex);
            }
        }
コード例 #5
0
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                lblMessage.Content = string.Empty;
                if (string.IsNullOrEmpty(txtUserName.Text.Trim()) && string.IsNullOrEmpty(txtPassword.Password.Trim()))
                {
                    lblMessage.Content = "Please Enter User name and Password";
                }
                else if (string.IsNullOrEmpty(txtUserName.Text.Trim()))
                {
                    lblMessage.Content = "Please Enter User name";
                }
                else if (string.IsNullOrEmpty(txtPassword.Password.Trim()))
                {
                    lblMessage.Content = "Please Enter Password";
                }
                else
                {
                    IEnumerable <User> objUser = new SeatLayoutConfig().LoginUser(txtUserName.Text, txtPassword.Password);

                    if (objUser == null || objUser.Count() == 0)
                    {
                        lblMessage.Content = "Invalid User name or Password";
                        return;
                    }

                    Helper.Theater             = (cmbTheatres.SelectedItem as Theatres).THEATRENAME;
                    Helper.UserName            = objUser.FirstOrDefault().UserName;
                    lblUserDisplayName.Content = objUser.FirstOrDefault().UserName;

                    string[] userPermissions = objUser.FirstOrDefault().Permissions.Split(',');

                    LAYOUTDESIGN.Visibility                 =
                        MANAGERBLOCKING.Visibility          =
                            SCHEDULING.Visibility           =
                                BOOKING.Visibility          =
                                    REPORTS.Visibility      =
                                        HOLDTRAY.Visibility = Visibility.Collapsed;

                    foreach (string tabId in userPermissions)
                    {
                        switch (tabId)
                        {
                        case "1":
                            LAYOUTDESIGN.Visibility = Visibility.Visible;
                            break;

                        case "2":
                            MANAGERBLOCKING.Visibility = Visibility.Visible;
                            break;

                        case "3":
                            SCHEDULING.Visibility = Visibility.Visible;
                            break;

                        case "4":
                            BOOKING.Visibility = Visibility.Visible;
                            break;

                        case "5":
                            REPORTS.Visibility = Visibility.Visible;
                            break;

                        case "6":
                            HOLDTRAY.Visibility = Visibility.Visible;
                            break;
                        }
                    }

                    TabMaster.SelectedIndex = userPermissions.Contains("4") ? 3 : Convert.ToInt32(userPermissions[0]) - 1;

                    LoginGrid.Visibility = Visibility.Collapsed;
                    UserGrid.Visibility  = Visibility.Visible;
                }
            }
            catch (Exception ex)
            {
                LogExceptions.LogException(ex);
            }
        }
コード例 #6
0
        private void LoadBookedTickets()
        {
            try
            {
                if (lstTimes.SelectedItem == null)
                {
                    return;
                }

                IEnumerable <Seat> objScreenSeats = new SeatLayoutConfig().GetShowTickets(Convert.ToInt32(lstScreen.SelectedValue), Convert.ToInt32((lstTimes.SelectedItem as Movie).Id));
                foreach (Seat obj in objScreenSeats)
                {
                    Seats.Where(x => x.Id == obj.ID).ToList <SeatProperties>().ForEach(w =>
                    {
                        w.IsEnabled  = obj.Is_Enabled;
                        w.TicketCost = obj.Price;
                        w.IsChecked  = !obj.Is_Enabled;
                        w.SeatColor  = Helper.ReturnColor(obj.Color);
                    });
                }

                var groupList = Seats.Where(l => l.ScreenClassId != 0).GroupBy(l => l.ScreenClassId)
                                .Select(cl => new Seat
                {
                    ScreenClassId = cl.First().ScreenClassId,
                    ScreenClass   = cl.First().ScreenClass,
                    Price         = cl.First().TicketCost
                }).ToList();

                brdClass2.Visibility     =
                    brdClass3.Visibility = txbClass2.Visibility = txbClass3.Visibility = Visibility.Collapsed;

                int i = 0;

                foreach (Seat objSeat in groupList)
                {
                    if (i == 0)
                    {
                        txbClass1.Text = string.Format("{0}  -  {1} Sold ({2} Rs), {3} Available", objSeat.ScreenClass, objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "RESERVED").Count(), objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "RESERVED").Sum(w => w.Price), objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "ACTIVE").Count());
                    }
                    else if (i == 1)
                    {
                        txbClass2.Visibility     =
                            brdClass2.Visibility = Visibility.Visible;

                        txbClass2.Text = string.Format("{0}  -  {1} Sold ({2} Rs), {3} Available", objSeat.ScreenClass, objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "RESERVED").Count(), objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "RESERVED").Sum(w => w.Price), objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "ACTIVE").Count());
                    }
                    else if (i == 2)
                    {
                        txbClass3.Visibility     =
                            brdClass3.Visibility = Visibility.Visible;
                        txbClass3.Text           = string.Format("{0}  -  {1} Sold ({2} Rs), {3} Available", objSeat.ScreenClass, objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "RESERVED").Count(), objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "RESERVED").Sum(w => w.Price), objScreenSeats.Where(w => w.ScreenClassId == objSeat.ScreenClassId && w.Color == "ACTIVE").Count());
                    }

                    SeatProperties objGroupSeat = Seats.Where(x => x.Id == 0 && x.ScreenClassId == objSeat.ScreenClassId).FirstOrDefault();

                    objGroupSeat.DisplayText = string.Format("{0} - {1}", objSeat.ScreenClass, Seats.Where(x => x.Id != 0 && x.CheckboxVisibility == Visibility.Visible && x.ScreenClassId == objSeat.ScreenClassId).FirstOrDefault().TicketCost);

                    i++;
                }
            }
            catch (Exception ex)
            {
                ManageLoadingDataVisibility(false);
                LogExceptions.LogException(ex);
            }
        }