Exemple #1
0
        private void btnCmdWrite_Click(object sender, EventArgs e)
        {
            HaspStatus status;

            string msgaux = "";

            DateTime? validade = null;
            if (!chkIlimitado.Checked)
            {
                validade = Calendar.SelectionRange.Start;
            }

            if (!validaCampos()) return;

            HardLock hl = new HardLockBuilder()
                    .withVersaHardLock(Convert.ToInt32(txtVersaoHardLock.Text))
                    .withNCanais(Convert.ToInt32(txtNCanais.Text))
                    .withValidade(validade)
                    .withVMajor(Convert.ToInt32(txtVMajor.Text))
                    .withVMinor(Convert.ToInt32(txtVMinor.Text))
                    .withNUsers(Convert.ToInt32(txtNUsers.Text))
                    .withVoiceMail(chkVoiceMail.Checked)
                    .withFaxMail(chkFaxMail.Checked)
                    .withCampanha(chkCampanha.Checked)
                    .withXFace(chkXFace.Checked)
                    .withBroadcast(chkBroadcast.Checked)
                    .withRobot(chkRobot.Checked)
                    .withSpeech(chkSpeech.Checked)
                    .withTextToSpeech(chkTextToSpeech.Checked)
                    .build();

            status = helper.loginInHasp();

            if (HaspStatus.StatusOk != status)
            {
                string msg = "Não foi possível fazer o login no HASP!\n"
                    + "Verifique se a chave está conectada.";
                MessageBox.Show(msg, FORM_CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Error);
                logger.logError("#btnCmdWrite_Click - " + msg.Replace("\n", " "));
                return;
            }

            string aux = "";

            if (helper.writeInHasp(ref msgaux, hl, ref aux))
            {
                helper.logoutInHasp();
            }

            txtWrite.Text = aux;

            txtDTControle.Text = hl.DTControle.ToString("dd/MM/yyyy HH:00:00");
        }
        public HardLock str2Hardlock(string str)
        {
            int pos = 0;
            int dia, mes, ano, hor;

            HardLockBuilder hlb = new HardLockBuilder()
                .withVersaHardLock(Convert.ToInt32(str.Substring(pos, TAMANHO_NUMERO).Trim())); //[01]

            pos += TAMANHO_NUMERO;

            hlb = hlb.withNCanais(Convert.ToInt32(str.Substring(pos, TAMANHO_NUMERO).Trim()));  //[04]

            pos += TAMANHO_NUMERO;

            DateTime? validade = null;
            char ch = str.ToCharArray(pos, 1)[0];
            if (ch != '0')
            {
                dia = Convert.ToInt32(str.ToCharArray(pos++, 1)[0]);        //[07]
                mes = Convert.ToInt32(str.ToCharArray(pos++, 1)[0]);        //[08]
                ano = 2000 + Convert.ToInt32(str.ToCharArray(pos++, 1)[0]); //[09]
                DateTime dt = new DateTime(ano, mes, dia, 23, 59, 59);
                validade = dt;

                if (DateTime.Now.CompareTo(validade.Value) > 0)
                {
                    hlb = hlb.invalido();
                }
            }
            else
            {
                pos += 3; //[07][08][09]
            }

            hlb = hlb.withValidade(validade);

            hlb = hlb.withVMajor(Convert.ToInt32(str.Substring(pos, TAMANHO_NUMERO).Trim()));      //[10]
            pos += TAMANHO_NUMERO;
            hlb = hlb.withVMinor(Convert.ToInt32(str.Substring(pos, TAMANHO_NUMERO).Trim()));      //[13]
            pos += TAMANHO_NUMERO;
            hlb = hlb.withNUsers(Convert.ToInt32(str.Substring(pos, TAMANHO_NUMERO).Trim()));      //[16]
            pos += TAMANHO_NUMERO;

            hlb = hlb.withVoiceMail(str.ToCharArray(pos++, 1)[0] == '1' ? true : false)//[19]
                .withFaxMail(str.ToCharArray(pos++, 1)[0] == '1' ? true : false)       //[20]
                .withCampanha(str.ToCharArray(pos++, 1)[0] == '1' ? true : false)      //[21]
                .withXFace(str.ToCharArray(pos++, 1)[0] == '1' ? true : false)         //[22]
                .withBroadcast(str.ToCharArray(pos++, 1)[0] == '1' ? true : false)     //[23]
                .withRobot(str.ToCharArray(pos++, 1)[0] == '1' ? true : false)         //[24]
                .withSpeech(str.ToCharArray(pos++, 1)[0] == '1' ? true : false)        //[25]
                .withTextToSpeech(str.ToCharArray(pos++, 1)[0] == '1' ? true : false); //[26]

            dia = Convert.ToInt32(str.ToCharArray(pos++, 1)[0]);        //[27]
            mes = Convert.ToInt32(str.ToCharArray(pos++, 1)[0]);        //[28]
            ano = 2000 + Convert.ToInt32(str.ToCharArray(pos++, 1)[0]); //[29]
            hor = Convert.ToInt32(str.ToCharArray(pos++, 1)[0]);        //[30]

            DateTime controle = new DateTime(ano, mes, dia, hor, 0, 0);

            HardLock hl = hlb.withDTControle(controle).build();
            return hl;
        }