public void TestXmlSerialize()
        {
            XmlSerial serial = new XmlSerial();

            serial.SerializeDatatoFile();
            Assert.IsTrue(File.Exists(serial.GetOutputPath()));
        }
        public void TestXmlDeserialize()
        {
            XmlSerial serial = new XmlSerial();
            XmlModel  model  = serial.DeserializeDataFromFile();

            Assert.AreEqual(model.Name, serial.GetModel().Name);
            Assert.AreEqual(model.Id, serial.GetModel().Id);
        }
Пример #3
0
        private void btnValidar_Click(object sender, EventArgs e)
        {
            try
            {
                XmlSerial   serial = new XmlSerial();
                XmlDocument xmlDoc = new XmlDocument();
                string      path   = Path.GetFullPath("DB/UsuarioRepository.xml");

                xmlDoc.Load(path);
                //(UsuariosList)Funciones.DeserializeObject<UsuariosList>(xmlDoc.InnerXml);
                UsuariosList usuarios = serial.DesSerializeObjeto <UsuariosList>(xmlDoc.InnerXml);
                var          usuario  = usuarios.Usuarios.Where(u => u.Rut == this.txtRut.Text).FirstOrDefault();
                MemoryStream ms       = new MemoryStream(usuario.TemplateBytes);
                //DPFP.Capture.SampleConversion convertor = new DPFP.Capture.SampleConversion();
                //convertor.ConvertToANSI381(usuarios.Usuarios.Where(u => u.Rut == this.txtRut.Text).FirstOrDefault().Sample, ref bytes);
                //new DPFP.Template(new MemoryStream(bytes));
                Template template = new DPFP.Template(ms);
                Compare(template, MemSample);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, "Validador Huella", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #4
0
        private void btnIngresar_Click(object sender, EventArgs e)
        {
            try
            {
                XmlSerial serial = new XmlSerial();

                Usuario usuario = new Usuario();
                usuario.Rut = this.txtRut.Text;
                usuario.Nombre = this.txtNombre.Text;
                usuario.Huella = Funciones.ImageToByteArray(this.picHuella.Image);
                usuario.TemplateBytes = MemTemplate.Bytes;
                usuario.TemplateSize = MemTemplate.Size;

                String XmlizedString = serial.SerializeObjeto(usuario);  //Funciones.SerializeObject(usuario);

                XmlDocument xmlDoc = new XmlDocument();
                string path = Path.GetFullPath("DB/UsuarioRepository.xml");

                xmlDoc.Load(path);
                //(UsuariosList)Funciones.DeserializeObject<UsuariosList>(xmlDoc.InnerXml);
                UsuariosList usuarios = serial.DesSerializeObjeto<UsuariosList>(xmlDoc.InnerXml);

                if (usuarios.Usuarios != null)
                {
                    if (usuarios.Usuarios.Where(u => u.Rut == usuario.Rut).Count() > 0)
                    {
                        var val = usuarios.Usuarios.Where(u => u.Rut == usuario.Rut).FirstOrDefault();
                        val.Nombre = usuario.Nombre;
                        val.Huella = usuario.Huella;
                    }
                    else
                    {
                        List<Usuario> usList = usuarios.Usuarios.ToList();
                        usList.Add(usuario);
                        usuarios.Usuarios = usList.ToArray();
                    }
                }
                else
                {
                    List<Usuario> usList = new List<Usuario>();
                    usList.Add(usuario);
                    usuarios.Usuarios = usList.ToArray();
                }

                XmlizedString = serial.SerializeObjeto<UsuariosList>(usuarios); //Funciones.SerializeObject(usuarios);
                xmlDoc = new XmlDocument();
                xmlDoc.InnerText = XmlizedString;
                //xmlDoc.Save(path);

                if(File.Exists(path))
                    File.Delete(path);

                xmlDoc.Save(path);

                MessageBox.Show(this, "El usuario ha sido ingresado correctamente", "Validador Huella", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, string.Format("Error al Intentar guardar el usuario. Detalle:{0}", ex.Message),
                    "Validador Huella", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtDocumentNumberSearch.Text) || String.IsNullOrEmpty(txtDocumentNumberSearch.Text))
            {
                MessageBox.Show("Please fill in all required fields");
            }
            else
            {
                try
                {
                    XmlSerial       serial      = new XmlSerial();
                    DTO.StaffMember staffMember = new DTO.StaffMember();

                    staffMember.name                     = this.lblNameResult.Text;
                    staffMember.documentNumber           = this.lblDocumentNumberResult.Text;
                    staffMember.fingerprint              = Functions.ImageToByteArray(this.picFingerprint.Image);
                    staffMember.fingerprintTemplateBytes = MemTemplate.Bytes;
                    staffMember.fingerprintTemplateSize  = MemTemplate.Size;

                    String XmlizedString = serial.SerializeObject(staffMember);

                    XmlDocument xmlDoc = new XmlDocument();
                    string      path   = Path.GetFullPath("DB/StaffRepository.xml");

                    xmlDoc.Load(path);

                    StaffMemberList staffMembers = serial.DeserializeObject <StaffMemberList>(xmlDoc.InnerXml);

                    if (staffMembers.staffMemberList != null)
                    {
                        if (staffMembers.staffMemberList.Where(s => s.documentNumber == staffMember.documentNumber).Count() > 0)
                        {
                            var val = staffMembers.staffMemberList.Where(s => s.documentNumber == staffMember.documentNumber).FirstOrDefault();
                            val.name        = staffMember.name;
                            val.fingerprint = staffMember.fingerprint;
                        }
                        else
                        {
                            List <DTO.StaffMember> smList = staffMembers.staffMemberList.ToList();
                            smList.Add(staffMember);
                            staffMembers.staffMemberList = smList.ToArray();
                        }
                    }
                    else
                    {
                        List <DTO.StaffMember> smList = new List <DTO.StaffMember>();
                        smList.Add(staffMember);
                        staffMembers.staffMemberList = smList.ToArray();
                    }

                    XmlizedString   = serial.SerializeObject <StaffMemberList>(staffMembers);
                    xmlDoc          = new XmlDocument();
                    xmlDoc.InnerXml = XmlizedString;

                    if (File.Exists(path))
                    {
                        File.Delete(path);
                    }

                    xmlDoc.Save(path);

                    byte[] fingerprint = Functions.ImageToByteArray(this.picFingerprint.Image);
                    UpdateStaffFingerprint(currentStaffMember);

                    MessageBox.Show(this, "Staff member updated successfully!", "OTC", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    ClearFields();
                    Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, string.Format("Error trying to save the staff member. Exception: {0}", ex.Message),
                                    "OTC", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Пример #6
0
        private void btnIngresar_Click(object sender, EventArgs e)
        {
            try
            {
                XmlSerial serial = new XmlSerial();

                Usuario usuario = new Usuario();
                usuario.Rut           = this.txtRut.Text;
                usuario.Nombre        = this.txtNombre.Text;
                usuario.Huella        = Funciones.ImageToByteArray(this.picHuella.Image);
                usuario.TemplateBytes = MemTemplate.Bytes;
                usuario.TemplateSize  = MemTemplate.Size;

                String XmlizedString = serial.SerializeObjeto(usuario);  //Funciones.SerializeObject(usuario);

                XmlDocument xmlDoc = new XmlDocument();
                string      path   = Path.GetFullPath("DB/UsuarioRepository.xml");

                xmlDoc.Load(path);
                //(UsuariosList)Funciones.DeserializeObject<UsuariosList>(xmlDoc.InnerXml);
                UsuariosList usuarios = serial.DesSerializeObjeto <UsuariosList>(xmlDoc.InnerXml);

                if (usuarios.Usuarios != null)
                {
                    if (usuarios.Usuarios.Where(u => u.Rut == usuario.Rut).Count() > 0)
                    {
                        var val = usuarios.Usuarios.Where(u => u.Rut == usuario.Rut).FirstOrDefault();
                        val.Nombre = usuario.Nombre;
                        val.Huella = usuario.Huella;
                    }
                    else
                    {
                        List <Usuario> usList = usuarios.Usuarios.ToList();
                        usList.Add(usuario);
                        usuarios.Usuarios = usList.ToArray();
                    }
                }
                else
                {
                    List <Usuario> usList = new List <Usuario>();
                    usList.Add(usuario);
                    usuarios.Usuarios = usList.ToArray();
                }

                XmlizedString    = serial.SerializeObjeto <UsuariosList>(usuarios); //Funciones.SerializeObject(usuarios);
                xmlDoc           = new XmlDocument();
                xmlDoc.InnerText = XmlizedString;
                //xmlDoc.Save(path);

                if (File.Exists(path))
                {
                    File.Delete(path);
                }

                xmlDoc.Save(path);

                MessageBox.Show(this, "El usuario ha sido ingresado correctamente", "Validador Huella", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, string.Format("Error al Intentar guardar el usuario. Detalle:{0}", ex.Message),
                                "Validador Huella", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #7
0
        protected void Compare(Template template, Sample sample, string type)
        {
            DPFP.FeatureSet features = ExtractFeatures(sample, DPFP.Processing.DataPurpose.Verification);
            DPFP.Verification.Verification.Result result = new DPFP.Verification.Verification.Result();

            XmlSerial   serial = new XmlSerial();
            XmlDocument xmlDoc = new XmlDocument();

            string path = Path.GetFullPath("DB/StaffRepository.xml");

            xmlDoc.Load(path);
            StaffMemberList staffMembers = serial.DeserializeObject <StaffMemberList>(xmlDoc.InnerXml);

            foreach (DTO.StaffMember staffMember in staffMembers.staffMemberList)
            {
                MemoryStream ms = new MemoryStream(staffMember.fingerprintTemplateBytes);
                template = new DPFP.Template(ms);
                Verificator.Verify(features, template, ref result);

                XmlSerial   punchSerial = new XmlSerial();
                XmlDocument punchXmlDoc = new XmlDocument();
                Punch       punch       = new DTO.Punch();

                string newPunchType       = "";
                string punchXmlizedString = punchSerial.SerializeObject(punch);
                string punchPath          = Path.GetFullPath("DB/PunchRepository.xml");

                punchXmlDoc.Load(punchPath);

                PunchList punches = punchSerial.DeserializeObject <PunchList>(punchXmlDoc.InnerXml);

                List <Punch> punchList = punches.punchList.ToList();
                punch = new DTO.Punch();

                if (punchList.Where(p => p.documentNumber == staffMember.documentNumber).Count() > 0)
                {
                    var val = punches.punchList.Where(p => p.documentNumber == staffMember.documentNumber).Last();
                    if (val.type == "I")
                    {
                        newPunchType = "O";
                    }
                    else if (val.type == "O")
                    {
                        newPunchType = "I";
                    }
                }
                else
                {
                    newPunchType = "I";
                }

                punch.type           = newPunchType;
                punch.documentNumber = staffMember.documentNumber;
                punch.createdAt      = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                punchList.Add(punch);
                punches.punchList = punchList.ToArray();

                punchXmlizedString   = punchSerial.SerializeObject <PunchList>(punches);
                punchXmlDoc          = new XmlDocument();
                punchXmlDoc.InnerXml = punchXmlizedString;

                if (features != null)
                {
                    if (result.Verified)
                    {
                        if (lblStaffMemberNameResult.InvokeRequired)
                        {
                            lblStaffMemberNameResult.BeginInvoke((MethodInvoker) delegate
                            {
                                lblStaffMemberNameResult.Visible = true;
                                lblStaffMemberNameResult.Text    = staffMember.name;
                            });
                        }

                        if (lblPunchDateTimeResult.InvokeRequired)
                        {
                            lblPunchDateTimeResult.BeginInvoke((MethodInvoker) delegate
                            {
                                lblPunchDateTimeResult.Visible = true;
                                lblPunchDateTimeResult.Text    = DateTime.Now.ToString("HH:mm:ss");

                                if (punch.type == "I")
                                {
                                    lblPunchTypeResult.ForeColor = System.Drawing.Color.Blue;
                                    lblPunchTypeResult.Visible   = true;
                                    lblPunchTypeResult.Text      = "IN";
                                }
                                else if (punch.type == "O")
                                {
                                    lblPunchTypeResult.ForeColor = System.Drawing.Color.Red;
                                    lblPunchTypeResult.Visible   = true;
                                    lblPunchTypeResult.Text      = "OUT";
                                }
                                else
                                {
                                    lblPunchTypeResult.ForeColor = System.Drawing.Color.Blue;
                                    lblPunchTypeResult.Text      = "IN";
                                }
                            });
                        }

                        if (picCheck.InvokeRequired)
                        {
                            picCheck.BeginInvoke((MethodInvoker) delegate
                            {
                                picCheck.Visible = true;
                                picCheck.Image   = (Image)Resources.ResourceManager.GetObject("check");
                            });
                        }
                        System.Media.SystemSounds.Beep.Play();

                        punchXmlDoc.Save(punchPath);
                        SavePunch(punch);
                    }
                }
            }
            Thread.Sleep(1000);
            ClearFields();
        }
Пример #8
0
        private void btnValidar_Click(object sender, EventArgs e)
        {
            try
            {
                XmlSerial serial = new XmlSerial();
                XmlDocument xmlDoc = new XmlDocument();
                string path = Path.GetFullPath("DB/UsuarioRepository.xml");

                xmlDoc.Load(path);
                //(UsuariosList)Funciones.DeserializeObject<UsuariosList>(xmlDoc.InnerXml);
                UsuariosList usuarios = serial.DesSerializeObjeto<UsuariosList>(xmlDoc.InnerXml);
                var usuario = usuarios.Usuarios.Where(u => u.Rut == this.txtRut.Text).FirstOrDefault();
                MemoryStream ms = new MemoryStream(usuario.TemplateBytes);
                //DPFP.Capture.SampleConversion convertor = new DPFP.Capture.SampleConversion();
                //convertor.ConvertToANSI381(usuarios.Usuarios.Where(u => u.Rut == this.txtRut.Text).FirstOrDefault().Sample, ref bytes);
                //new DPFP.Template(new MemoryStream(bytes));
                Template template = new DPFP.Template(ms);
                Compare(template, MemSample);
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, "Validador Huella", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }