public static ValidityDateControl Select(int id) { if (id == 0) { throw new NotFoundIDEntity("A chave primaria não pode ser igual a 0"); } ValidityDateControl dateControl = null; string sql = string.Format( "SELECT * FROM ValidityDateControl WHERE id = \"{0}\"" , id); using (MySqlCommand command = new MySqlCommand(sql, ConnectMysql.GetInstance())) { using (MySqlDataReader reader = command.ExecuteReader()) { if (!reader.Read()) { throw new NotExecuteCommandSql("Erro na leitura de uma data do banco ou a chave primária não existe na base"); } double hourPrice = reader.GetDouble(1); DateTime dateTimeInitial = reader.GetDateTime(2); DateTime dateTimeFinal = reader.GetDateTime(3); dateControl = new ValidityDateControl(id, hourPrice, dateTimeInitial, dateTimeFinal); } } return(dateControl); }
public static ValidityDateControl Select(DateTime InitialDate) { ValidityDateControl dateControl = null; string initialDateString = InitialDate.ToString("yyyy-MM-dd HH:mm:ss"); string sql = string.Format( "SELECT * FROM ValidityDateControl WHERE InitialDate = \"{0}\"" , initialDateString); using (MySqlCommand command = new MySqlCommand(sql, ConnectMysql.GetInstance())) { using (MySqlDataReader reader = command.ExecuteReader()) { if (!reader.Read()) { throw new NotExecuteCommandSql("Erro na leitura de uma data do banco"); } int id = reader.GetInt32(0); double hourPrice = reader.GetDouble(1); DateTime dateTimeInitial = reader.GetDateTime(2); DateTime dateTimeFinal = reader.GetDateTime(3); dateControl = new ValidityDateControl(id, hourPrice, dateTimeInitial, dateTimeFinal); } } return(dateControl); }
public void test01() { DateTime initialDateControl = new DateTime(2015, 8, 16, 0, 0, 0); DateTime finalDateControl = new DateTime(2015, 11, 15, 23, 59, 59); double price = 5; ValidityDateControl dateControl = new ValidityDateControl(price, initialDateControl, finalDateControl); //Insert ValidityDateControlModel.Insert(dateControl); //Select initial date ValidityDateControl dateControlSelected = ValidityDateControlModel.Select(initialDateControl); Assert.IsTrue(DateTime.Compare(dateControl.InitialDate, dateControlSelected.InitialDate) == 0 && DateTime.Compare(dateControl.FinalDate, dateControlSelected.FinalDate) == 0 && dateControl.HourPrice == dateControlSelected.HourPrice, "Houve um erro, datas diferentes"); //Select by id dateControlSelected = ValidityDateControlModel.Select(dateControlSelected.ID); Assert.IsTrue(DateTime.Compare(dateControl.InitialDate, dateControlSelected.InitialDate) == 0 && DateTime.Compare(dateControl.FinalDate, dateControlSelected.FinalDate) == 0 && dateControl.HourPrice == dateControlSelected.HourPrice, "Houve um erro, datas diferentes"); //Update with exception try { ValidityDateControlModel.Update(dateControl); // tem que depois passar sem id pra gerar uma exceção Assert.Fail("Deveria ter gerado uma exceção NotFoundIDEntity quando passa para atualizar sem uma chave primária"); } catch (NotFoundIDEntity e) { Assert.IsTrue(true); } //Update dateControl.ID = dateControlSelected.ID; dateControl.HourPrice = 7; dateControl.FinalDate = new DateTime(2015, 12, 15, 23, 59, 59); ValidityDateControlModel.Update(dateControl); dateControlSelected = ValidityDateControlModel.Select(dateControlSelected.ID); Assert.IsTrue(DateTime.Compare(dateControl.InitialDate, dateControlSelected.InitialDate) == 0 && DateTime.Compare(dateControl.FinalDate, dateControlSelected.FinalDate) == 0 && dateControl.HourPrice == dateControlSelected.HourPrice, "Houve um erro, datas diferentes"); //Delete ValidityDateControlModel.Delete(dateControl); try { ValidityDateControlModel.Select(dateControl.ID); Assert.Fail("Deveria ter lançado uma exceção pois não deveria existir objeto na base"); } catch (NotExecuteCommandSql e) { Assert.IsTrue(true); } }
public ActionResult Update(int id) { ValidityDateViewModel model = new ValidityDateViewModel(); ValidityDateControl date = ValidityDateControlModel.Select(id); model.HourPrice = date.HourPrice.ToString().Replace(".", ","); model.InitialDate = date.InitialDate; model.FinalDate = date.FinalDate; return(View(model)); }
public void UpdateListTest() { ValidityControl.ClearListDates(); ValidityDateControl date = new ValidityDateControl(5, new DateTime(1991, 9, 24, 0, 0, 0), new DateTime(2017, 10, 10, 23, 59, 59)); ValidityControl.AddDateControl(date); ValidityControl.ClearListDates(); ValidityControl.UpdateListDatesFromDB(); ValidityDateControl dateItem = ValidityControl.GetListDates()[0]; Assert.IsTrue(date.IsSameDate(dateItem)); }
public void SetPriceTest() { DateTime initialDateControl = new DateTime(2015, 8, 16, 0, 0, 0); DateTime finalDateControl = new DateTime(2015, 11, 15, 23, 59, 59); double price = 5; ValidityControl.AddDateControl(price, initialDateControl, finalDateControl); List <ValidityDateControl> list = ValidityControl.GetListDates(); ValidityDateControl dateControl = list[0]; Assert.IsTrue(DateTime.Compare(dateControl.InitialDate, initialDateControl) == 0 && DateTime.Compare(dateControl.FinalDate, finalDateControl) == 0 && dateControl.HourPrice == price, "Houve um erro, datas diferentes"); }
public static void Insert(ValidityDateControl dateControl) { string initialDate = dateControl.InitialDate.ToString("yyyy-MM-dd HH:mm:ss"); string finalDate = dateControl.FinalDate.ToString("yyyy-MM-dd HH:mm:ss"); string sql = string.Format( "INSERT INTO ValidityDateControl (HourPrice, InitialDate, FinalDate) VALUES ({0}, \"{1}\", \"{2}\");" , dateControl.HourPrice.ToString().Replace(",", "."), initialDate, finalDate); using (MySqlCommand command = new MySqlCommand(sql, ConnectMysql.GetInstance())) { command.CommandText = sql; command.ExecuteNonQuery(); } }
public static void Delete(ValidityDateControl dateControl) { if (dateControl.ID == 0) { throw new NotFoundIDEntity("A objeto excluido não possue uma chave primária"); } string sql = string.Format("DELETE FROM ValidityDateControl WHERE id = {0}", dateControl.ID); using (MySqlCommand command = new MySqlCommand(sql, ConnectMysql.GetInstance())) { command.CommandText = sql; command.ExecuteNonQuery(); } }
public static void Update(ValidityDateControl dateControl) { if (dateControl.ID == 0) { throw new NotFoundIDEntity("A objeto atualizado não possue uma chave primária"); } string initialDate = dateControl.InitialDate.ToString("yyyy-MM-dd HH:mm:ss"); string finalDate = dateControl.FinalDate.ToString("yyyy-MM-dd HH:mm:ss"); string sql = string.Format( "UPDATE ValidityDateControl SET HourPrice={0}, InitialDate=\"{1}\", FinalDate=\"{2}\" WHERE id = {3};" , dateControl.HourPrice.ToString().Replace(",", "."), initialDate, finalDate, dateControl.ID); using (MySqlCommand command = new MySqlCommand(sql, ConnectMysql.GetInstance())) { command.CommandText = sql; command.ExecuteNonQuery(); } }
public async Task <ActionResult> Update(ValidityDateViewModel model, int id) { double price = 0; bool haveErrors = false; try { price = double.Parse(model.HourPrice); } catch (FormatException e) { ModelState.AddModelError("data", "Não foi possível reconhecer o valor do preço praticado"); haveErrors = true; } if (price == 0) { ModelState.AddModelError("data", "Valor praticado não pode ser 0"); haveErrors = true; } if (!model.DateValid(model.InitialDate)) { ModelState.AddModelError("data", "Data inicial inválida"); haveErrors = true; } if (!model.DateValid(model.FinalDate)) { ModelState.AddModelError("data", "Data final inválida"); haveErrors = true; } if (haveErrors) { return(View(model)); } ValidityDateControl vdc = new ValidityDateControl(id, price, model.InitialDate, model.FinalDate); Service.ValidityControl.UpdateDateControl(vdc); return(RedirectToAction("Index")); }