Exemple #1
0
        public int dzialajDlaProjektuLinkedDoc(string pr, string sql)
        {
            log("Projekt " + pr, "Info");
            int ile = 0;

            using (MySql.Data.MySqlClient.MySqlConnection conn2 = new MySql.Data.MySqlClient.MySqlConnection())
                using (MySqlCommand cmd2 = new MySqlCommand())
                    using (MySqlCommand cmd = new MySqlCommand())
                    {
                        try
                        {
                            cmd.Connection  = conn;
                            cmd.CommandText = sql;
                            string sciezkaDef = sciezkaDomyslna + pr + @"\LinkedDoc\";
                            string sciezkaDb;

                            using (MySqlDataReader reader = cmd.ExecuteReader())
                            {
                                if (reader.HasRows)
                                {
                                    if (EA_Connect(pr) == 0)
                                    {
                                        conn2.ConnectionString = "server=10.22.23.82;uid=eakzg;database=eakzg_schema;Pwd=a;port=3306";
                                        conn2.Open();

                                        cmd2.Connection = conn2;

                                        while (reader.Read())
                                        {
                                            string objectID   = reader["object_ID"].ToString();
                                            string datWyrzyg  = reader["dataWyrzygu"].ToString();
                                            string sciezka    = reader["sciezka"].ToString();
                                            string plik       = reader["plik"].ToString();
                                            string objectGuid = reader["ea_guid"].ToString();
                                            if (sciezka == String.Empty)
                                            {
                                                sciezka = sciezkaDef;
                                            }

                                            try
                                            {
                                                System.IO.Directory.CreateDirectory(sciezka);
                                                sciezkaDb = sciezka.Replace(@"\", @"\\");



                                                //projektInterfejs.PutDiagramImageToFile(objectGuid, sciezka + objectID + ".png", 1);

                                                /*                                sql = " SELECT o.object_id,d.BinContent, o.Note FROM " +
                                                 *     "`" + schema + "`.t_object o " +
                                                 *     ", `" + schema + "`.t_document d " +
                                                 * " WHERE o.Style LIKE '%MDoc=1%' and o.object_type='Object' and d.elementid=o.ea_guid  and o.name='Skrot';";
                                                 */



                                                EA.Element e    = eaRepository.GetElementByGuid(objectGuid);
                                                string     rtf  = e.GetLinkedDocument();
                                                string     html = ConvertRtfToHtml(rtf);

                                                System.IO.StreamWriter file = new System.IO.StreamWriter(sciezka + objectID + ".html");
                                                file.Write(html);
                                                file.Close();
                                                System.IO.StreamWriter filertf = new System.IO.StreamWriter(sciezka + objectID + ".rtf");
                                                filertf.Write(rtf);
                                                filertf.Close();


                                                string updt = " INSERT INTO eakzg_schema.eakzg_wyrzyg_log (id,projekt,objectID,objectGUID,dataWyrzygu,sciezka,plik) " +
                                                              "values (null,'" + pr + "','" + objectID + "','" + objectGuid + "', " + @"now(), '" + sciezkaDb + "','" + objectID + ".html') on duplicate key update " +
                                                              @" dataWyrzygu=now(),sciezka='" + sciezkaDb + "',plik='" + objectID + ".html'";

                                                cmd2.CommandText = updt;
                                                int numRowsUpdated = cmd2.ExecuteNonQuery();

                                                ile++;
                                            }
                                            catch (Exception ex)
                                            {
                                                log("Blad IO msg: " + ex.Message, "Exc - dzialajDlaProjektu " + " TargetSite: " + ex.TargetSite.ToString());
                                            }
                                        }
                                    }
                                }
                            }
                        }
                        catch (MySqlException ex)
                        {
                            log("Blad " + ex.Number + " msg: " + ex.Message, "Exc - dzialajDlaProjektu " + " TargetSite: " + ex.TargetSite.ToString());
                        }
                        log("Projekt " + pr + "### Wygenerowano: " + ile + " diagramów", "Info");
                    }
            return(ile);
        }