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; }