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(); } }
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, "Аттракционы"); } }
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, "Аттракционы"); } }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { selectedAttreactionType = attractionTypes.ElementAt(comboBoxTypes.SelectedIndex); }