Example #1
0
        public static bool Add(string code, string filename)
        {
            Image        img          = new Bitmap(filename);
            MemoryStream memoryStream = new MemoryStream();

            img.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            byte[] imgByte = memoryStream.ToArray();

            FacenetHandler facenet = new FacenetHandler();
            WebRequest     request = facenet.SendMessage("hasFace", "POST", new ImagetoDb()
            {
                img = Convert.ToBase64String(imgByte)
            });
            ImagetoDbResponse hasFaceStr = (ImagetoDbResponse)facenet.GetWebResponse <ImagetoDbResponse>(request);

            if (hasFaceStr.hasFace.Equals("0"))
            {
                return(false);
            }

            DatabaseHandler database = Singleton <DatabaseHandler> .Instance();

            string procName = "addOrUpdateImage";
            List <Tuple <string, object> > parameters = new List <Tuple <string, object> >();

            parameters.Add(new Tuple <string, object>("@Code", code));
            parameters.Add(new Tuple <string, object>("@Image", imgByte));

            if (database.ExecuteProcedure(procName, parameters) <= 0)
            {
                return(false);
            }

            return(true);
        }
        private List <string> ApplyImage(byte[] imgByte, string code, string name)
        {
            try {
                FacenetHandler facenet = new FacenetHandler();
                WebRequest     request = facenet.SendMessage("hasFace", "POST", new ImagetoDb()
                {
                    img = Convert.ToBase64String(imgByte)
                });
                ImagetoDbResponse hasFaceStr = (ImagetoDbResponse)facenet.GetWebResponse <ImagetoDbResponse>(request);

                if (hasFaceStr.hasFace.Equals("0"))
                {
                    return new List <string>()
                           {
                               "Erro", "Não foi possível detectar a face do aluno " + code + "\n\t1- Certifique-se de que há uma face na imagem;\tCertifique-se de que altura da imagem é maior que a largura (que a imagem está em formato retrato);"
                           }
                }
                ;

                string procName = "addOrUpdateImage";
                List <Tuple <string, object> > parameters = new List <Tuple <string, object> >();

                parameters.Add(new Tuple <string, object>("@Code", code));
                parameters.Add(new Tuple <string, object>("@Image", imgByte));

                if (database.ExecuteProcedure(procName, parameters) <= 0)
                {
                    return new List <string>()
                           {
                               "Erro", "Não foi possível inserir a imagem do aluno " + code
                           }
                }
                ;

                return(new List <string>()
                {
                    "Sucesso", "A imagem do aluno " + name + " (" + code + ") foi inserida com sucesso"
                });
            }catch (ResponseException ex) {
                return(new List <string>()
                {
                    ex.Info.header, ex.Info.message
                });
            }
        }