示例#1
0
        public void ComodidadesTest()
        {
            Assert.AreEqual(new Comodidades(false, false, false), default(Comodidades));
            var comodidades = new Comodidades(televisao: true, internet: true, servicoDeLimpeza: false);

            Assert.AreEqual(comodidades.Televisao, true);
            Assert.AreEqual(comodidades.Internet, true);
            Assert.AreEqual(comodidades.ServicoDeLimpeza, false);
            comodidades.ServicoDeLimpeza = true;
            Assert.AreEqual(comodidades.ServicoDeLimpeza, true);
        }
示例#2
0
        /// <summary>
        /// Clique no botão "buttonAdicionar".
        /// Extrai toda a informação introduzida pelo utilizador e procede à sua validação.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonAdicionar_Click(object sender, EventArgs e)
        {
            #region Receber Dados

            var morada = new Morada(textBoxRua.Text, new CodigoPostal(maskedTextBoxCodigoPostal.Text),
                                    textBoxLocalidade.Text);

            var numDeWcs = ParseNumberOrFail(comboBoxNumDeWC.Text, "Valor de \"Número de Wcs\" inválido");

            // Metros Quadrados
            var metrosQuadrados = ParseNumberOrFail(textBoxMetrosQuadrados.Text,
                                                    "Valor de \"Metros Quadrados\" inválido");

            // Ano de Construção
            int anoDeConstrucao;
            if (!int.TryParse(numericUpDownAnoDeConstrucao.Text, out anoDeConstrucao))
            {
                MessageBox.Show("Valor de \"Ano de Construção\" inválido", "Erro", MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }
            if (anoDeConstrucao > DateTime.Now.Year)
            {
                MessageBox.Show(
                    $"Valor de \"Ano de Construção\" inválido: não pode ser superior ao ano atual {DateTime.Now.Year}",
                    "Erro de validação", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            // Nº de Assoalhadas
            var numAssoalhadas = ParseNumberOrFail(comboBoxNumDeAssoalhadas.Text,
                                                   "Valor de \"Nº de Assoalhadas\" inválido: não é número inteiro");

            // Nº de Quartos
            var numQuartos = ParseNumberOrFail(comboBoxNumDeQuartos.Text,
                                               "Valor de \"Nº de Quartos\" inválido: não é número inteiro");

            #endregion

            // Comodidades
            var comodidades = new Comodidades(checkBoxTelevisao.Checked, checkBoxInternet.Checked,
                                              checkBoxServicosDeLimpeza.Checked);

            // Descrição da Habitação
            var descricao = textBoxDescricao.Text.Trim();

            // Despesas incluidas?
            var despesasIncluidas = checkBoxDespesasIncluidas.Checked;

            var custoMensal = decimal.Parse(textBoxPreco.Text);

            #region Validar

            // validar
            // e depois
            var habitacao = new Habitacao(descricao, numQuartos, numAssoalhadas, numDeWcs, metrosQuadrados,
                                          anoDeConstrucao, morada, custoMensal, despesasIncluidas, comodidades);

            #endregion

            #region Redes Sociais

            try
            {
                if (checkBoxFacebook.Checked)
                {
                    PostFacebook(habitacao);
                }
                if (checkBoxTwitter.Checked)
                {
                    PostTwitter(habitacao);
                }
            }
            catch (Exception)
            {
                // se for levantada alguma excepção, ignorar
                return;
            }

            MessageBox.Show("Habitação registada com sucesso.", "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

            #endregion
        }