/// <summary> /// Получает абонента из БД по его идентификатору. /// </summary> /// <param name="subscriberID">Идентификатор</param> /// <returns>Абонент</returns> public static Subscriber SelectSubscriberByID(long subscriberID) { Subscriber result = null; try { connection.Open(); MySqlCommand cmd = new MySqlCommand("SELECT * FROM subscriber WHERE id = @id", connection); cmd.Parameters.AddWithValue("@id", subscriberID); MySqlDataReader r = cmd.ExecuteReader(); if (r.Read()) { result = new Subscriber(r.GetInt64("id"), r.GetString("name"), DatabaseUtils.GetStringOrNull(r, "patronymic"), r.GetString("surname"), DatabaseUtils.GetStringOrNull(r, "email"), DatabaseUtils.GetStringOrNull(r, "login"), DatabaseUtils.GetStringOrNull(r, "password_hash")); } r.Close(); } catch (MySqlException ex) { System.Windows.Forms.MessageBox.Show(ex.ToString()); } finally { connection.Close(); } return result; }
/// <summary> /// Создает нового абонента. /// </summary> /// <returns>Абонент</returns> public static Subscriber GetNewSubscriber() { Subscriber result = null; long id; try { connection.Open(); MySqlCommand cmd = new MySqlCommand("SELECT MAX(id) FROM subscriber_id", connection); MySqlDataReader r = cmd.ExecuteReader(); if (r.Read()) { id = r.GetInt64("MAX(id)"); r.Close(); MySqlCommand cmd2 = new MySqlCommand("UPDATE subscriber_id SET id = @id", connection); cmd2.Parameters.AddWithValue("@id", id+1); cmd2.ExecuteNonQuery(); result = new Subscriber(id, Constants.No, Constants.No, Constants.No, Constants.No, Constants.No, Constants.DefaultPasswordHash); } r.Close(); } catch (MySqlException ex) { System.Windows.Forms.MessageBox.Show(ex.ToString()); } finally { connection.Close(); } return result; }
/// <summary> /// Конструктор контроллера детализированной информации. /// </summary> /// <param name="subscriberID">ID абонента</param> public DetailedInfController(long subscriberID) { _subscriber = Subscriber.SelectSubscriberByID(subscriberID); if (_subscriber == null) throw new BillingSystem.Exceptions.ModelObjectNotFoundException("Subscriber with number = " + subscriberID); }
/// <summary> /// Инициализирует новый экземпляр класса Payment, получая в качестве аргументов следующие параметры: /// </summary> /// <param name="subscriber">Абонент</param> /// <param name="sum">Сумма</param> public Payment(Subscriber subscriber, double sum) { _date = System.DateTime.Now; _subscriberID = subscriber.ID; _sum = sum; }
/// <summary> /// Создает экземпляр класса DepositController. /// </summary> /// <param name="id">Идентификатор абонента</param> public DepositController(long id) { _subscriber = Subscriber.SelectSubscriberByID(id); }
/// <summary> /// Создает новый экземпляр класса Subscriber с указанным параметром: /// </summary> /// <param name="subscriberID">ID абонента</param> public SubscriberController(long subscriberID) { subscriber = Subscriber.SelectSubscriberByID(subscriberID); if (subscriber == null) throw new BillingSystem.Exceptions.ModelObjectNotFoundException("Subscriber with id = " + subscriberID + " doesn't exist"); }
/// <summary> /// Создает новый экземпляр класса Subscriber. /// </summary> public SubscriberController() { subscriber = Subscriber.GetNewSubscriber(); }