Exemplo n.º 1
0
        public DadosAlunos findStudentByRa(string ra, string usuario)
        {
            File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: findStudentByRa. RA: {0} . Data: {1} ****", ra, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);

            DadosAlunos  dadosAluno = new DadosAlunos();
            InsegracaoSE integrador = new InsegracaoSE();

            dadosAluno.RetornoStudent = new List <Student>();

            try
            {
                if (string.IsNullOrEmpty(integrador.GetUnity(usuario).Code))
                {
                    File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: findStudentByRa. Erro: {0}. RA: {1}. Data: {2} ****", "O usuário não tem permissão para visualizar os dados desse aluno.", ra, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                }
                else
                {
                    if (integrador.VerifyDocumentPermission(ra, usuario))
                    {
                        com.softexpert.tecfy.documentDataReturn documentDataReturn = integrador.GetDocumentProperties(ra);
                        if (string.IsNullOrEmpty(documentDataReturn.ERROR))
                        {
                            try
                            {
                                Student estudante = new Student
                                {
                                    RA        = documentDataReturn.ATTRIBUTTES.Any(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Registration"].ToString()) ? documentDataReturn.ATTRIBUTTES.Where(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Registration"].ToString()).FirstOrDefault().ATTRIBUTTEVALUE.FirstOrDefault() : null,
                                    CPFALUNO  = documentDataReturn.ATTRIBUTTES.Any(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_CPF"].ToString()) ? documentDataReturn.ATTRIBUTTES.Where(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_CPF"].ToString()).FirstOrDefault().ATTRIBUTTEVALUE.FirstOrDefault() : null,
                                    NOMECURSO = documentDataReturn.ATTRIBUTTES.Any(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Course"].ToString()) ? documentDataReturn.ATTRIBUTTES.Where(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Course"].ToString()).FirstOrDefault().ATTRIBUTTEVALUE.FirstOrDefault() : null,
                                    CODCENTRO = documentDataReturn.ATTRIBUTTES.Any(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Unity"].ToString()) ? documentDataReturn.ATTRIBUTTES.Where(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Unity"].ToString()).FirstOrDefault().ATTRIBUTTEVALUE.FirstOrDefault() : null,
                                    NOMEALUNO = documentDataReturn.ATTRIBUTTES.Any(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Name"].ToString()) ? documentDataReturn.ATTRIBUTTES.Where(x => x.ATTRIBUTTENAME == WebConfigurationManager.AppSettings["Attribute_Name"].ToString()).FirstOrDefault().ATTRIBUTTEVALUE.FirstOrDefault() : null,
                                };
                                dadosAluno.RetornoStudent.Add(estudante);
                            }
                            catch (Exception ex)
                            {
                                File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: findStudentByRa. Erro: {0}. RA: {1}. Data: {2} ****", ex.Message, ra, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                            }
                        }
                        else
                        {
                            File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: findStudentByRa. Erro: {0}. RA: {1}. Data: {2} ****", documentDataReturn.ERROR, ra, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                        }
                    }
                    else
                    {
                        File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: findStudentByRa. Erro: {0}. RA: {1}. Data: {2} ****", "O usuário não tem permissão para visualizar os dados desse aluno.", ra, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                    }
                }
            }
            catch (Exception ex)
            {
                File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: findStudentByRa. Erro: {0}. Message: {1}, Source: {2}. Data: {3} ****", ex.Message, ex.StackTrace, ex.Source, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
            }

            return(dadosAluno);
        }
Exemplo n.º 2
0
        public bool deleteDocuments(string code)
        {
            if (code == WebConfigurationManager.AppSettings["Delete.Code"])
            {
                HttpContext currentContext = HttpContext.Current;

                System.Threading.Tasks.Task objTask = System.Threading.Tasks.Task.Factory.StartNew(() =>
                {
                    HttpContext.Current = currentContext;
                    File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: deleteDocuments. Inicio do processo. Data: {0} ****", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);

                    InsegracaoSE integrador = new InsegracaoSE();

                    if (Directory.GetFiles(pathDocumentDelete).Length > 0)
                    {
                        foreach (string file in Directory.GetFiles(pathDocumentDelete))
                        {
                            try
                            {
                                FileInfo fileInfo = new FileInfo(file);

                                using (StreamReader sr = new StreamReader(file))
                                {
                                    List <string> listDocuments = sr.ReadToEnd().Split(';').ToList();

                                    foreach (string item in listDocuments)
                                    {
                                        try
                                        {
                                            File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: deleteDocuments. Inicio exclusão SE, documento: {0}. Data: {1} ****", item, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);

                                            integrador.DeleteDocument(item);

                                            File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: deleteDocuments. Fim exclusão SE, documento: {0}. Data: {1} ****", item, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                                        }
                                        catch (Exception ex)
                                        {
                                            File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: deleteDocuments. Erro exclusão SE, documento: {1}. Messagem: {0} Data: {2}  ****", ex.Message, item, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                                        }
                                    }
                                }

                                string pathDelete = Path.Combine(pathDocumentDelete, "Processed");

                                if (!Directory.Exists(pathDelete))
                                {
                                    Directory.CreateDirectory(pathDelete);
                                }

                                File.Move(file, Path.Combine(pathDelete, fileInfo.Name));
                            }
                            catch (Exception ex)
                            {
                                File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: deleteDocuments. Erro no processo de exclusão do arquivo: {0}. Mensagem: {1}. Data: {2}  ****", file, ex.Message, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                            }
                        }
                    }

                    File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: deleteDocuments. Final do processo. Data: {0} ****", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                });

                return(true);
            }
            else
            {
                File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: deleteDocuments. Código de validação não corresponde (code: {0}). Data: {1} ****", code, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);

                return(false);
            }
        }
Exemplo n.º 3
0
        private void processFile(string fileNameJson, string registration, string user, string documentId, bool moveOut = true)
        {
            File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE: {0}. Arquivo: {1} Inicio: {2} ****", registration, fileNameJson, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);

            string filePathIn             = Path.Combine(pathIn, fileNameJson);
            string filePathOut            = Path.Combine(pathOut, Path.GetFileNameWithoutExtension(fileNameJson) + extension);
            string filePathToProcessIn    = Path.Combine(pathToProcessIn, fileNameJson + ".json");
            string filePathToProcessOut   = Path.Combine(pathToProcessOut, fileNameJson + ".json");
            string filePathToProcessError = Path.Combine(pathToProcessError, fileNameJson + ".json");

            try
            {
                InsegracaoSE integrador = new InsegracaoSE();

                if (moveOut)
                {
                    File.Move(filePathToProcessIn, filePathToProcessOut);
                }

                byte[] fileBinary = File.ReadAllBytes(filePathOut);

                int pageCount = 0;
                try
                {
                    using (PdfReader reader = new PdfReader(fileBinary))
                    {
                        pageCount = reader.NumberOfPages;
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }

                Models.Unit.Unity Unity = integrador.GetUnity(user);

                if (string.IsNullOrEmpty(Unity.Code))
                {
                    File.Move(filePathToProcessOut, filePathToProcessError);
                    File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE (Unidade não encontrada): {0}, RA: {1}. Fim: {2} ****", fileNameJson, registration, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                    return;
                }

                DocumentoAtributo documentoAtributo = new DocumentoAtributo
                {
                    FileBinary      = fileBinary,
                    CategoryPrimary = WebConfigurationManager.AppSettings["Category_Primary"],
                    CategoryOwner   = WebConfigurationManager.AppSettings["Category_Owner"],
                    Registration    = registration,
                    User            = user,
                    Extension       = extension,
                    Now             = DateTime.Now,
                    Pages           = pageCount,
                    UnityCode       = Unity.Code,
                    UnityName       = Unity.Name,
                    DocumentId      = documentId,
                    FileNameJson    = fileNameJson
                };

                integrador.InsertBinaryDocument(documentoAtributo);

                File.Delete(filePathIn);
                File.Delete(filePathOut);
                File.Delete(filePathToProcessOut);

                File.AppendAllText(string.Format("{0}\\Validation_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE: {0}. Arquivo: {1} Fim: {2} ****", registration, fileNameJson, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
            }
            catch (Exception ex)
            {
                try
                {
                    File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE (Erro {0}): {1}, RA: {2}. Fim: {3} ****", ex.Message, fileNameJson, registration, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                    if (ex.Message == "InsertDocumentSE")
                    {
                        File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE(InsertDocumentSE): {0}, RA: {1}. Fim: {2} ****", fileNameJson, registration, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                        File.Move(filePathToProcessOut, filePathToProcessIn);
                    }
                    else if (ex.Message == "SaveJsonFile")
                    {
                        File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE(SaveJsonFile): {0}, RA: {1}. Fim: {2} ****", fileNameJson, registration, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                        File.Move(filePathToProcessOut, filePathToProcessError);
                    }
                    else if (ex.Message == "InsertPhysicalFile")
                    {
                        File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE(InsertPhysicalFile): {0}, RA: {1}. Fim: {2} ****", fileNameJson, registration, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                        File.Move(filePathToProcessOut, filePathToProcessIn);
                    }
                    else if (ex.Message == "ValidDocumentSE")
                    {
                        File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE(ValidDocumentSE): {0}, RA: {1}. Fim: {2} ****", fileNameJson, registration, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                        File.Move(filePathToProcessOut, filePathToProcessError);
                    }
                    else
                    {
                        File.AppendAllText(string.Format("{0}\\Error_{1}.txt", pathLog, DateTime.Now.ToString("yyyyMMdd")), string.Format("**** Método: processFile. Arquivo sendo enviado para o SE: {0}, RA: {1}. Fim: {2} ****", fileNameJson, registration, DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")) + Environment.NewLine);
                        File.Move(filePathToProcessOut, filePathToProcessError);
                    }
                }
                catch
                {
                    Thread.Sleep(5000);
                    File.Move(filePathToProcessOut, filePathToProcessError);
                }
            }
        }