/// <summary> /// Инициализирует новый экземпляр класса Charge, получая в качесте аргументов следущие параметры: /// </summary> /// <param name="phone">Телефонный номер</param> /// <param name="service">Услуга</param> /// <param name="sum">Сумма</param> /// <param name="date">Дата</param> public Charge(PhoneNumber phone, Service service, double sum, DateTime date) { _date = date; _phoneID = phone.ID; _serviceID = service.ID; _sum = sum + service.Cost; _phoneNumber = phone; }
/// <summary> /// Получает из БД услугу по ее идентификатору. /// </summary> /// <param name="serviceID">Идентификатор услуги</param> /// <returns>Услуга</returns> public static Service SelectServiceByID(long serviceID) { Service searchResult = null; try { connection.Open(); string query = @"SELECT * FROM service WHERE id = @id"; MySqlCommand cmd = new MySqlCommand(query, connection); cmd.Parameters.AddWithValue("@id", serviceID); MySqlDataReader r = cmd.ExecuteReader(); if (r.Read()) { searchResult = new Service(r.GetInt64("id"), r.GetString("name"), r.GetDouble("cost")); } r.Close(); } catch (MySqlException ex) { System.Windows.Forms.MessageBox.Show(ex.ToString()); } finally { connection.Close(); } return searchResult; }
/// <summary> /// Получает услугу по ее наименованию. /// </summary> /// <param name="name">Имя услуги</param> /// <returns>Услуга</returns> public static Service SelectServiceByName(string name) { Service result = null; try { connection.Open(); string query = "SELECT * FROM service WHERE LOWER(name) LIKE LOWER(@name) ORDER BY LENGTH(name) ASC LIMIT 1"; MySqlCommand cmd = new MySqlCommand(query, connection); cmd.Parameters.AddWithValue("@name", name); MySqlDataReader r = cmd.ExecuteReader(); if (r.Read()) { result = new Service(r.GetInt64("id"), r.GetString("name"), r.GetDouble("cost")); } r.Close(); } catch (MySqlException ex) { System.Windows.Forms.MessageBox.Show(ex.ToString()); } finally { connection.Close(); } return result; }