示例#1
0
 public Candidato(String nameuser,InfoPessoal infoP ,InfoExtra infoE)
 {
     this.username=nameuser;
     this.pessoal = infoP;
     this.info = infoE;
 }
        public FileResult GeraXML()
        {
            var utilizador = db.Utilizadores.Find(WebSecurity.CurrentUserId);
            InfoPessoal infoP = new InfoPessoal();
            InfoExtra infoE = new InfoExtra();

            infoP.FirstName = utilizador.Nome;
            infoP.LastName = utilizador.Apelido;
            infoP.Email = utilizador.Email;

            if (utilizador.Morada != null && !utilizador.Morada.Equals(""))
                infoP.AddInfo = utilizador.Morada;
            if (utilizador.Avatar != null && !utilizador.Avatar.Equals(""))
                infoP.PathFoto = utilizador.Avatar;

            if (utilizador.Nacionalidade != null && !utilizador.Nacionalidade.Equals(""))
                infoP.Nacionalidade = utilizador.Nacionalidade;

            infoP.Genero = utilizador.Sexo;
            if (utilizador.Fax != null && !utilizador.Fax.Equals(""))
                infoP.Fax = utilizador.Fax;
            if (utilizador.Contacto != null && !utilizador.Contacto.Equals(""))
                infoP.Tel = utilizador.Contacto;

            /*  public string CodPostal {get;set;}
              public string Cidade { get; set; }
              public string Pais { get; set; }

              public string WebSite { get; set; }*/

            Candidato c = new Candidato(utilizador.UserName, infoP, infoE);

            var path = Path.Combine(Server.MapPath("~/Europass/"), utilizador.UserName + ".xml");
            WriteXML xml = new WriteXML(path, c);
            xml.WritetoXml();

            //Corro bat do java .

            path = Path.Combine(Server.MapPath("~/Europass/"), utilizador.UserName);

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            path = Server.MapPath("~/Europass/runComand2.bat");
            Process process = Process.Start(path, utilizador.UserName);
            while (!process.HasExited)
            { }

            //Verifica  se object ficheiro foi criado
            path = Path.Combine(Server.MapPath("~/Europass/"), utilizador.UserName, utilizador.UserName + ".pdf");
            bool existe = System.IO.File.Exists(path);

            //Abre o ficheiro
            Response.ContentType = "Application/pdf";
            // Response.TransmitFile(path);
            return File(path, Response.ContentType, utilizador.UserName + ".pdf");
        }