示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }
示例#4
0
        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");
        }
示例#7
0
        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();
            }
        }
示例#8
0
        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();
            }
        }
示例#9
0
        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();
            }
        }
示例#10
0
        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"));
        }