Beispiel #1
0
 public void changeAttractionButton_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == dataGridViewAttractons.Columns["change_column"].Index && e.RowIndex >= 0)
     {
         int            column             = dataGridViewAttractons.Columns["attractionId"].Index;
         int            row                = e.RowIndex;
         Attraction     changingAttraction = attractions.Find(x => (x.id.ToString() == dataGridViewAttractons[column, row].Value.ToString()));
         AttractionType attractionType     = attractionTypes.Find(x => x.attractionTypeId == changingAttraction.attractionType);
         FormChange     formChange         = new FormChange(changingAttraction, attractionType, attractionTypes, admin);
         formChange.ShowDialog();
     }
 }
Beispiel #2
0
        public FormChange(Attraction attraction, AttractionType attractionType, List <AttractionType> attractionTypes, Admin admin)
        {
            InitializeComponent();
            APP_PATH                = ConfigurationManager.AppSettings.Get("serverURI");
            this.attractionId       = attraction.id;
            textBoxName.Text        = attraction.attractionName.ToString();
            maskedTextBoxIP.Text    = attraction.attractionIp.ToString();
            textBoxPrice.Text       = attraction.attractionPrice.ToString();
            selectedAttreactionType = attractionTypes.Find(x => x.attractionTypeId == attraction.attractionType);
            this.attractionTypes    = attractionTypes;
            foreach (AttractionType attrType in attractionTypes)
            {
                comboBoxTypes.Items.Add(attrType.attractionTypeName);
                if (attrType == selectedAttreactionType)
                {
                    comboBoxTypes.SelectedIndex = comboBoxTypes.Items.Count - 1;
                }
            }

            RentalComboBox.Items.Add("Нет");
            RentalComboBox.Items.Add("Да");
            if ((bool)attraction.attractionIsRental == true)
            {
                RentalStatus = true;
                RentalComboBox.SelectedIndex = 1;
            }
            else
            {
                RentalStatus = false;
                RentalComboBox.SelectedIndex = 0;
            }
            DiscountСomboBox.Items.Add("Не распространяется");
            DiscountСomboBox.Items.Add("Распространяется");
            if ((bool)attraction.attractionDiscountSpread == true)
            {
                DiscountStatus = true;
                DiscountСomboBox.SelectedIndex = 1;
            }
            else
            {
                DiscountStatus = false;
                DiscountСomboBox.SelectedIndex = 0;
            }
            textBoxPulseDuration.Text = attraction.attractionPusleDuration.ToString();
            textBox2.Text             = attraction.attractionParam1.ToString();
            this.admin = admin;
        }
        private void fillAttractionDataGridView(List <Attraction> attractions)
        {
            try
            {
                dataGridViewAttractons.Columns.Clear();
                dataGridViewAttractons.Columns.Add("attractionId", "id");
                dataGridViewAttractons.Columns.Add("attractionName", "Наименование");
                dataGridViewAttractons.Columns.Add("attractionIp", "IP");
                dataGridViewAttractons.Columns.Add("attractionPrice", "Цена");
                dataGridViewAttractons.Columns.Add("attractionType", "Тип");
                dataGridViewAttractons.Columns.Add("attractionRentState", "Арендованный");
                dataGridViewAttractons.Columns.Add("attractionPulseDuration", "Длит. импульса");
                dataGridViewAttractons.Columns.Add("attractionParam1", "Param1");
                dataGridViewAttractons.Columns.Add("attractionDiscountSpread", "Скидка");
                dataGridViewAttractons.Sort(dataGridViewAttractons.Columns["attractionName"], System.ComponentModel.ListSortDirection.Ascending);

                //int numberOfAttractionsOnline = 0;


                dataGridViewAttractons.Rows.Clear();
                if (attractions.Count != 0)
                {
                    foreach (Attraction attraction in attractions)
                    {
                        //double odd = substractSpan.TotalSeconds;
                        AttractionType attractionType           = attractionTypes.Find(x => (x.attractionTypeId == attraction.attractionType));
                        string         attractionIsRental       = "";
                        string         attractionDiscountStatus = "";

                        if ((bool)attraction.attractionIsRental == true)
                        {
                            attractionIsRental = "Арендованный";
                        }
                        else
                        {
                            attractionIsRental = "Не арендованный";
                        }
                        if ((bool)attraction.attractionDiscountSpread == true)
                        {
                            attractionDiscountStatus = "Распространяется";
                        }
                        else
                        {
                            attractionDiscountStatus = "Не распространяется";
                        }
                        dataGridViewAttractons.Rows.Add(
                            attraction.id,
                            attraction.attractionName,
                            attraction.attractionIp,
                            attraction.attractionPrice,
                            attractionType.attractionTypeName,
                            attractionIsRental,
                            attraction.attractionPusleDuration,
                            attraction.attractionParam1,
                            attractionDiscountStatus);
                    }
                    dataGridViewAttractons.Sort(dataGridViewAttractons.Columns["attractionName"], System.ComponentModel.ListSortDirection.Descending);
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message, "Аттракционы");
            }
        }
Beispiel #4
0
        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                int numberOfAttractionsOnline = 0;
                timeInterval1   = 10;
                timer1.Interval = timeInterval1 * 1000;

                var             httpWebRequest = Request("GetAttractionInfo");
                string          result         = "";
                var             httpResponse   = (HttpWebResponse)httpWebRequest.GetResponse();
                AttractionsInfo attractionInfo = new AttractionsInfo();
                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    result = streamReader.ReadToEnd();
                    if (result != "null")
                    {
                        string r = result.Remove(result.Length - 1);
                        var    k = JsonConvert.DeserializeObject(result);
                        attractionInfo = JsonConvert.DeserializeObject <AttractionsInfo>(k.ToString());
                    }
                    else
                    {
                        throw new Exception("Ошибка данных об атракционах.");
                    }
                }
                attractions     = attractionInfo.Attractions;
                attractionTypes = attractionInfo.AttractionTypes;
                dataGridViewAttractons.Rows.Clear();
                if (attractions.Count != 0)
                {
                    foreach (Attraction attraction in attractions)
                    {
                        string   attractionStatus;
                        TimeSpan substractSpan = DateTime.Now - (DateTime)attraction.attractionLastPing;
                        double   odd           = substractSpan.TotalSeconds;
                        if (odd > timeInterval1 * 3)
                        {
                            attractionStatus = "Не работает";
                        }
                        else
                        {
                            attractionStatus = "Работает";
                        }

                        AttractionType attractionType           = attractionTypes.Find(x => (x.attractionTypeId == attraction.attractionType));
                        string         attractionIsRental       = "";
                        string         attractionDiscountStatus = "";

                        if ((bool)attraction.attractionIsRental == true)
                        {
                            attractionIsRental = "Арендованный";
                        }
                        else
                        {
                            attractionIsRental = "Не арендованный";
                        }
                        if ((bool)attraction.attractionDiscountSpread == true)
                        {
                            attractionDiscountStatus = "Распространяется";
                        }
                        else
                        {
                            attractionDiscountStatus = "Не распространяется";
                        }
                        dataGridViewAttractons.Rows.Add(attraction.id,
                                                        attraction.attractionName,
                                                        attraction.attractionIp,
                                                        attraction.attractionPrice,
                                                        attractionType.attractionTypeName,
                                                        attractionIsRental,
                                                        attractionStatus,
                                                        attraction.attractionPusleDuration,
                                                        attraction.attractionParam1,
                                                        attractionDiscountStatus);
                        if (attractionStatus == "Не работает")
                        {
                            dataGridViewAttractons.Rows[dataGridViewAttractons.Rows.Count - 1].Cells[6].Style.BackColor = System.Drawing.Color.Red;
                        }
                        else if (attractionStatus == "Работает")
                        {
                            numberOfAttractionsOnline++;
                            dataGridViewAttractons.Rows[dataGridViewAttractons.Rows.Count - 1].Cells[6].Style.BackColor = System.Drawing.Color.Green;
                        }
                    }
                    dataGridViewAttractons.Sort(dataGridViewAttractons.Columns["attractionName"], System.ComponentModel.ListSortDirection.Descending);
                    labelNumberOfAttractionsOnline.Text = "Колличество работающих аттракционов: " + numberOfAttractionsOnline.ToString();
                }
            }
            catch (Exception exc)
            {
                timer1.Stop();
                MessageBox.Show(exc.Message, "Аттракционы");
            }
        }
Beispiel #5
0
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     selectedAttreactionType = attractionTypes.ElementAt(comboBoxTypes.SelectedIndex);
 }