Пример #1
0
 public override void Run()
 {
     if (Running)
     {
         if (q.Execute(clearBrLogDet))
         {
             Loging.Loging.WriteLog("OK: " + clearBrLogDet, false, false);
         }
         else
         {
             Loging.Loging.WriteLog("Error: " + clearBrLogDet, true, true);
         }
         if (q.Execute(clearBrLog))
         {
             Loging.Loging.WriteLog("OK: " + clearBrLog, false, false);
         }
         else
         {
             Loging.Loging.WriteLog("Error: " + clearBrLog, true, true);
         }
     }
     Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
     args.Maximum       = 1;
     args.Pos           = 1;
     args.runningAction = this;
     args.Name          = Name();
     OnExecute(this, args);
 }
Пример #2
0
        public override void Run()
        {
            int          count = 1;
            StreamReader file  = new StreamReader(fileName);
            string       SQL   = "";

            while (!file.EndOfStream)
            {
                string RSQL = file.ReadLine();
                if (RSQL.ToUpper().Trim(' ') == "GO")
                {
                    // run SQL
                    if (!QueryExec.Create(BaseType.PDA).Execute(SQL))
                    {
                        Loging.Loging.WriteLog("SQL Error: " + SQL, true, true);
                    }
                    // clear SQL
                    SQL = "";
                    // event
                    Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                    args.Maximum       = Lines;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                    args.Pos           = count;
                    args.runningAction = this;
                    args.Name          = Name();
                    OnExecute(this, args);
                    count++;
                }
                else
                {
                    SQL += RSQL;
                }
            }
        }
Пример #3
0
 public override void Run()
 {
     int count = 1;
     StreamReader file = new StreamReader(fileName);
     string SQL = "";
     while (!file.EndOfStream)
     {
         string RSQL = file.ReadLine();
         if(RSQL.ToUpper().Trim(' ') == "GO")
         {
             // run SQL
             if(!QueryExec.Create(BaseType.PDA).Execute(SQL))
             {
                 Loging.Loging.WriteLog("SQL Error: " + SQL, true, true);
             }
             // clear SQL
             SQL = "";
             // event
             Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
             args.Maximum = Lines;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
             args.Pos = count;
             args.runningAction = this;
             args.Name = Name();
             OnExecute(this, args);
             count++;
         }
         else
         {
             SQL += RSQL;
         }
     }
 }
Пример #4
0
        public override void Run()
        {
            int count = 1;

            foreach (PDATable table in tables)
            {
                // select data
                QuerySelect query = QuerySelect.Create(BaseType.PDA);
                query.Select("select * from " + table.Name);
                List <DataRows> rows = query.GetRows();
                foreach (DataRows row in rows)
                {
                    // create insert script
                    writer.WriteLine("INSERT INTO " + table.Name + " ");
                    writer.WriteLine("( ");
                    string Fields = "  ";
                    foreach (PDAField field in table.fields)
                    {
                        Fields += (field.Name + ", ");
                    }
                    Fields = Fields.Remove(Fields.Length - 2, 2);
                    writer.WriteLine(Fields);
                    writer.WriteLine(") ");
                    writer.WriteLine("VALUES ");
                    writer.WriteLine("( ");
                    string Values = "  ";
                    foreach (PDAField field in table.fields)
                    {
                        string val = "'" + row.FieldByName(field.Name).Replace("'", "''") + "'";
                        if (val == "''")
                        {
                            if ((field.DataType == "numeric") || (field.DataType == "datetime"))
                            {
                                val = "NULL";
                            }
                        }
                        if ((field.DataType == "numeric"))
                        {
                            val = val.Replace(',', '.');
                        }

                        Values += (val + ", ");
                    }
                    Values = Values.Remove(Values.Length - 2, 2);
                    writer.WriteLine(Values);
                    writer.WriteLine(") ");
                    writer.WriteLine("GO");
                }
                Loging.Loging.WriteLog("TABLE: " + table.Name + " exported " + rows.Count + " rows", false, true);
                Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                args.Maximum       = tables.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                args.Pos           = count;
                args.runningAction = this;
                args.Name          = Name();
                OnExecute(this, args);
                count++;
            }
        }
Пример #5
0
        private void Exec()
        {
            count = 1;
            foreach (TableInfo info in lst)
            {
                if (Running)
                {
                    QueryExecOracle q      = new QueryExecOracle();
                    string          delete = info.sqlText[TableInfo.QryType.Clear];
                    List <string>   del    = new List <string>();
                    if (delete.Trim() != "") // Проверка на пустой запрос
                    {
                        if (delete.Contains("{0}"))
                        {
                            for (int i = 0; i < bridges.Count; i++)
                            {
                                del.Add(string.Format(delete, bridges[i].IDBR));
                            }
                        }
                        else
                        {
                            if (delete.Contains("{1}"))
                            {
                                del.Add(string.Format(delete, "", MainParams.GetParam(MainParams.ParamName.idGu)));
                            }
                        }
                    }

                    //  else del.Add(delete);
                    foreach (string s in del)
                    {
                        if (Running)
                        {
                            if (q.Execute(s))
                            {
                                Loging.Loging.WriteLog("OK: " + s, false, false);
                            }
                        }
                        else
                        {
                            Loging.Loging.WriteLog("Error: " + s, true, true);
                        }
                    }
                    Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                    args.runningAction = this;
                    args.Name          = Name();
                    args.Maximum       = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                    args.Pos           = count;
                    OnExecute(this, args);
                    count++;
                }
                else
                {
                    break;
                }
            }
        }
Пример #6
0
 public void Exec()
 {
     count = 1;
     foreach (TableInfo info in lst)
     {
         string ins = "";
         if (Running)
         {
             QuerySelectPDA  q  = new QuerySelectPDA();
             QueryExecOracle qu = new QueryExecOracle();
             if (!q.Select("select * from " + info.tableName))
             {
                 Loging.Loging.WriteLog("Error:select * from " + info.tableName, true, true);
             }
             else
             {
                 Loging.Loging.WriteLog("OK:select * from " + info.tableName, false, false);
                 List <DataRows> dr = q.GetRows();
                 foreach (DataRows rows in dr)
                 {
                     string temp = "";
                     ins = "insert into " + info.tableName + "(";
                     foreach (FieldInfo field in info.fields)
                     {
                         ins  += field.fieldName + ", ";
                         temp += "'" + rows.FieldByName(field.fieldName).Replace("'", "''") + "', ";
                     }
                     ins  = ins.Remove(ins.LastIndexOf(','), 1);
                     temp = temp.Remove(temp.LastIndexOf(','), 1);
                     ins += ") values (" + temp + ")";
                     if (!qu.Execute(ins))
                     {
                         Loging.Loging.WriteLog("Error:" + ins, true, true);
                     }
                     else
                     {
                         Loging.Loging.WriteLog("OK:" + ins, false, false);
                     }
                 }
             }
             Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
             args.Maximum       = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
             args.Pos           = count;
             args.runningAction = this;
             args.Name          = Name();
             OnExecute(this, args);
             count++;
         }
         else
         {
             break;
         }
     }
 }
Пример #7
0
 public void Exec()
 {
     count = 1;
     foreach (TableInfo info in lst)
     {
         if (Running)
         {
             QueryExecOracle q      = new QueryExecOracle();
             string          select = info.sqlText[TableInfo.QryType.SelectBM];
             List <string>   sel    = new List <string>();
             if (select.Contains("{0}"))
             {
                 foreach (int i in idBr)
                 {
                     sel.Add(string.Format(select, i));
                 }
             }
             else
             {
                 sel.Add(string.Format(select, "", MainParams.GetParam(MainParams.ParamName.idGu)));
             }
             List <string> ins = new List <string>();
             foreach (string s in sel)
             {
                 ins.Add("insert into BMEXPORT." + info.tableName + " " + s);
             }
             foreach (string s in ins)
             {
                 if (q.Execute(s))
                 {
                     Loging.Loging.WriteLog("OK: " + s, false, false);
                 }
                 else
                 {
                     Loging.Loging.WriteLog("Error: " + s, true, true);
                 }
             }
             Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
             args.runningAction = this;
             args.Name          = Name();
             args.Maximum       = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
             args.Pos           = count;
             OnExecute(this, args);
             count++;
         }
         else
         {
             break;
         }
     }
 }
Пример #8
0
        public void Exec()
        {
            count = 1;
             foreach (TableInfo info in lst)
             {
                 string ins = "";
                 if (Running)
                 {
                     QuerySelectPDA q = new QuerySelectPDA();
                     QueryExecOracle qu = new QueryExecOracle();
                     if (!q.Select("select * from " + info.tableName))
                     {
                         Loging.Loging.WriteLog("Error:select * from " + info.tableName, true, true);
                     }
                     else
                     {
                         Loging.Loging.WriteLog("OK:select * from " + info.tableName, false, false);
                         List<DataRows> dr = q.GetRows();
                         foreach (DataRows rows in dr)
                         {
                             string temp = "";
                             ins = "insert into " + info.tableName + "(";
                             foreach (FieldInfo field in info.fields)
                             {
                                 ins += field.fieldName + ", ";
                                 temp += "'" + rows.FieldByName(field.fieldName).Replace("'","''") + "', ";

                             }
                             ins = ins.Remove(ins.LastIndexOf(','), 1);
                             temp = temp.Remove(temp.LastIndexOf(','), 1);
                             ins += ") values (" + temp + ")";
                             if (!qu.Execute(ins))
                             {
                                 Loging.Loging.WriteLog("Error:" + ins, true, true);
                             }
                             else Loging.Loging.WriteLog("OK:" + ins, false, false);
                         }
                     }
                     Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                    args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                    args.Pos = count;
                    args.runningAction = this;
                    args.Name = Name();
                    OnExecute(this, args);
                    count++;
                }
                else break;
             }
        }
Пример #9
0
 public override void Run()
 {
     int count = 1;
     foreach (PDATable table in tables)
     {
         writer.WriteLine("DROP TABLE " + table.Name);
         writer.WriteLine("GO");
         Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
         args.Maximum = tables.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
         args.Pos = count;
         args.runningAction = this;
         args.Name = Name();
         OnExecute(this, args);
         count++;
     }
 }
Пример #10
0
        public override void Run()
        {
            int count = 1;

            foreach (PDATable table in tables)
            {
                writer.WriteLine("DROP TABLE " + table.Name);
                writer.WriteLine("GO");
                Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                args.Maximum       = tables.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                args.Pos           = count;
                args.runningAction = this;
                args.Name          = Name();
                OnExecute(this, args);
                count++;
            }
        }
Пример #11
0
 public override void Run()
 {
     /// алгоритм
     /// просто устанавливает в MainParams
     ///     -   impDate = текущая дата и время
     ///     -   impState = done если нет в логе ошибок (Logging.WasError)
     /// event в самом конце (Max = 1 Pos = 1)
     /// Running не обрабатывается
     MainParams.SetParam(MainParams.ParamName.impDate, DateTime.Now.ToShortDateString());
     if (!Loging.Loging.WasError())
         MainParams.SetParam(MainParams.ParamName.impState, "done");
     Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
     args.Maximum = 1;
     args.Pos = 1;
     args.runningAction = this;
     args.Name = Name();
     Loging.Loging.WriteLog("DONE", false, true);
     OnExecute(this, args);
 }
        public void Exec()
        {
            count = 1;
            foreach (TableInfo info in lst)
            {
                if (Running)
                {
                    QueryExecOracle q=new QueryExecOracle();
                    string select = info.sqlText[TableInfo.QryType.SelectBM];
                    List<string> sel = new List<string>();
                    if (select.Contains("{0}"))
                    {
                        foreach (int i in idBr)
                        {
                            sel.Add(string.Format(select, i));
                        }
                    }
                    else sel.Add(string.Format(select, "", MainParams.GetParam(MainParams.ParamName.idGu)));
                    List<string> ins = new List<string>();
                    foreach (string s in sel)
                    {
                        ins.Add("insert into BMEXPORT." + info.tableName + " " + s);
                    }
                    foreach (string s in ins)
                    {
                        if(q.Execute(s))
                        {
                            Loging.Loging.WriteLog("OK: " + s, false, false);
                        }
                        else Loging.Loging.WriteLog("Error: " + s, true, true);

                    }
                    Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                    args.runningAction = this;
                    args.Name = Name();
                    args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                    args.Pos = count;
                    OnExecute(this, args);
                    count++;
                }
                else break;
            }
        }
Пример #13
0
        public override void Run()
        {
            int count = 1;

            foreach (PDATable table in tables)
            {
                writer.WriteLine("CREATE TABLE " + table.Name + " (");
                int    i     = 1;
                int    Count = table.fields.Count;
                bool   HasPK = false;
                string PKStr = "";
                foreach (PDAField field in table.fields)
                {
                    writer.WriteLine("    " + field.Name + "\t\t  " + field.FullDataType +
                                     "  \t" + (field.Nullable?"NULL":"NOT NULL") +
                                     ((i < Count)?", ":""));
                    i++;
                    if (field.IsPK)
                    {
                        HasPK  = true;
                        PKStr += field.Name + ", ";
                    }
                }
                writer.WriteLine(")");
                writer.WriteLine("GO");
                if (HasPK)
                {
                    PKStr = PKStr.Remove(PKStr.Length - 2, 2);
                    writer.WriteLine("ALTER TABLE " + table.Name + " ADD PRIMARY KEY (" + PKStr + ")");
                    writer.WriteLine("GO");
                }

                Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                args.Maximum       = tables.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                args.Pos           = count;
                args.runningAction = this;
                args.Name          = Name();
                OnExecute(this, args);
                count++;
            }
        }
Пример #14
0
 public override void Run()
 {
     /// алгоритм
     /// просто устанавливает в MainParams
     ///     -   impDate = текущая дата и время
     ///     -   impState = done если нет в логе ошибок (Logging.WasError)
     /// event в самом конце (Max = 1 Pos = 1)
     /// Running не обрабатывается
     MainParams.SetParam(MainParams.ParamName.impDate, DateTime.Now.ToShortDateString());
     if (!Loging.Loging.WasError())
     {
         MainParams.SetParam(MainParams.ParamName.impState, "done");
     }
     Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
     args.Maximum       = 1;
     args.Pos           = 1;
     args.runningAction = this;
     args.Name          = Name();
     Loging.Loging.WriteLog("DONE", false, true);
     OnExecute(this, args);
 }
Пример #15
0
 public override void Run()
 {
     if (Running)
     {
         if (q.Execute(clearBrLogDet))
         {
             Loging.Loging.WriteLog("OK: " + clearBrLogDet, false, false);
         }
         else Loging.Loging.WriteLog("Error: " + clearBrLogDet, true, true);
         if (q.Execute(clearBrLog))
         {
             Loging.Loging.WriteLog("OK: " + clearBrLog, false, false);
         }
         else Loging.Loging.WriteLog("Error: " + clearBrLog, true, true);
     }
     Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
     args.Maximum = 1;
     args.Pos = 1;
     args.runningAction = this;
     args.Name = Name();
     OnExecute(this, args);
 }
Пример #16
0
 public void Exec()
 {
     count = 1;
     foreach (TableInfo info in lst)
     {
         if (Running)
         {
             QueryExecOracle q  = new QueryExecOracle();
             QueryExecPDA    qu = new QueryExecPDA();
             if (!q.Execute("delete from BMEXPORT." + info.tableName))
             {
                 Loging.Loging.WriteLog("Error:delete from BMEXPORT." + info.tableName, true, true);
             }
             else
             {
                 Loging.Loging.WriteLog("OK:delete from BMEXPORT." + info.tableName, false, false);
             }
             if (!qu.Execute("delete from " + info.tableName))
             {
                 Loging.Loging.WriteLog("Error:delete from " + info.tableName, true, true);
             }
             else
             {
                 Loging.Loging.WriteLog("OK:delete from " + info.tableName, false, false);
             }
             Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
             args.Maximum       = lst.Count;//передавать в args кол-во таблиц и номер текущей (дл¤ прогресс бара)
             args.Pos           = count;
             args.runningAction = this;
             args.Name          = Name();
             OnExecute(this, args);
             count++;
         }
         else
         {
             break;
         }
     }
 }
Пример #17
0
 public void Exec()
 {
     count = 1;
     foreach (TableInfo info in lst)
     {
         if (Running)
         {
             QueryExecOracle q = new QueryExecOracle();
             QueryExecPDA qu = new QueryExecPDA();
             if (!q.Execute("delete from BMEXPORT." + info.tableName))
             {
                 Loging.Loging.WriteLog("Error:delete from BMEXPORT." + info.tableName, true, true);
             }
             else
             {
                 Loging.Loging.WriteLog("OK:delete from BMEXPORT." + info.tableName, false, false);
             }
             if(!qu.Execute("delete from " + info.tableName))
             {
                 Loging.Loging.WriteLog("Error:delete from " + info.tableName, true, true);
             }
             else
             {
                 Loging.Loging.WriteLog("OK:delete from " + info.tableName, false, false);
             }
             Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
             args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (дл¤ прогресс бара)
             args.Pos = count;
             args.runningAction = this;
             args.Name = Name();
             OnExecute(this, args);
             count++;
         }
         else break;
     }
 }
Пример #18
0
        public override void Run()
        {
            int count = 1;
            foreach (PDATable table in tables)
            {
                // select data
                QuerySelect query = QuerySelect.Create(BaseType.PDA);
                query.Select("select * from " + table.Name);
                List<DataRows> rows = query.GetRows();
                foreach (DataRows row in rows)
                {
                    // create insert script
                    writer.WriteLine("INSERT INTO " + table.Name + " ");
                    writer.WriteLine("( ");
                    string Fields = "  ";
                    foreach (PDAField field in table.fields)
                    {
                        Fields +=(field.Name +  ", " );
                    }
                    Fields = Fields.Remove(Fields.Length - 2, 2);
                    writer.WriteLine(Fields);
                    writer.WriteLine(") ");
                    writer.WriteLine("VALUES ");
                    writer.WriteLine("( ");
                    string Values = "  ";
                    foreach (PDAField field in table.fields)
                    {
                        string val =  "'" + row.FieldByName(field.Name).Replace("'", "''") + "'";
                        if(val == "''")
                            if((field.DataType == "numeric")||(field.DataType == "datetime"))
                                val = "NULL";
                        if((field.DataType == "numeric"))
                            val = val.Replace(',', '.');

                        Values += (val + ", " );
                    }
                    Values = Values.Remove(Values.Length - 2, 2);
                    writer.WriteLine(Values);
                    writer.WriteLine(") ");
                    writer.WriteLine("GO");

                    }
                Loging.Loging.WriteLog("TABLE: " + table.Name + " exported " + rows.Count + " rows", false, true);
                Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                args.Maximum = tables.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                args.Pos = count;
                args.runningAction = this;
                args.Name = Name();
                OnExecute(this, args);
                count++;
            }
        }
Пример #19
0
        public override void Run()
        {
            /// алгоритм
            /// Disconnect от КПК базы
            /// на основании ConnectionSettings скопировать
            /// базу с винчейстера на КПК
            /// event в самом конце (Max = 1 Pos = 1)
            /// Running не обрабатывается
            ///

            /// Дополнение:  если ToPDA == true то копирование идет не на КПК а из КПК
            DataBasePDA.Disconnect();
            RAPI rapi = new RAPI();

            if (!ToPDA)
            {
                try
                {
                    if (rapi.DevicePresent)
                    {
                        rapi.Connect();
                    }
                    rapi.CopyFileToDevice(ConnectionSettings.GetSettings().PDAConnectionString,
                                          ConnectionSettings.GetSettings().PDAConString, true);
                    Loging.Loging.WriteLog("Coping to PDA complete", false, true);
                    File.Delete(ConnectionSettings.GetSettings().PDAConnectionString);
                }
                catch (Exception e)
                {
                    Loging.Loging.WriteLog("Coping  to PDA failed: " + e.Message, false, true);
                }
            }

            else
            {
                try
                {
                    if (rapi.DevicePresent)
                    {
                        rapi.Connect();
                    }
                    rapi.CopyFileFromDevice(ConnectionSettings.GetSettings().PDAConnectionString,
                                            ConnectionSettings.GetSettings().PDAConString, true);
                    Loging.Loging.WriteLog("Coping  from PDA complete", false, true);
                }
                catch (Exception e)
                {
                    if (e.Message == "Could not open remote file ")
                    {
                        if (ConnectionSettings.GetSettings().PDAConString == "\\Storage Card\\BelmostPDA.sdf")
                        {
                            ConnectionSettings.GetSettings().PDAConString = "\\Sd Card\\BelmostPDA.sdf";
                        }
                        else
                        {
                            ConnectionSettings.GetSettings().PDAConString = "\\Storage Card\\BelmostPDA.sdf";
                        }
                        try
                        {
                            rapi.CopyFileFromDevice(ConnectionSettings.GetSettings().PDAConnectionString,
                                                    ConnectionSettings.GetSettings().PDAConString, true);
                            Loging.Loging.WriteLog("Coping  from PDA complete", false, true);
                        }
                        catch (Exception ex)
                        {
                            Loging.Loging.WriteLog("Coping from PDA failed: " + ex.Message, false, true);
                            Coordinator.Canceled = true;
                        }
                    }
                    else
                    {
                        Loging.Loging.WriteLog("Coping from PDA failed: " + e.Message, false, true);
                        Coordinator.Canceled = true;
                    }
                }
            }
            Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
            args.Maximum       = 1;
            args.Pos           = 1;
            args.runningAction = this;
            args.Name          = Name();
            OnExecute(this, args);
        }
Пример #20
0
        private void Exec()
        {
            count = 1;
            foreach (TableInfo info in lst)
            {
                if (Running)
                {
                    QueryExecOracle q = new QueryExecOracle();
                    string delete = info.sqlText[TableInfo.QryType.Clear];
                    List<string> del = new List<string>();
                    if(delete.Trim() != "") // Проверка на пустой запрос
                        if (delete.Contains("{0}"))
                        {
                            for (int i = 0; i < bridges.Count; i++)
                                del.Add(string.Format(delete, bridges[i].IDBR));
                        }
                        else
                        {
                            if(delete.Contains("{1}"))
                                del.Add(string.Format(delete, "", MainParams.GetParam(MainParams.ParamName.idGu)));
                        }

                            //  else del.Add(delete);
                    foreach (string s in del)
                    {
                        if (Running)
                        {
                            if (q.Execute(s))
                            {
                                Loging.Loging.WriteLog("OK: " + s, false, false);
                            }
                        }
                        else Loging.Loging.WriteLog("Error: " + s, true, true);
                    }
                    Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                    args.runningAction = this;
                    args.Name = Name();
                    args.Maximum = lst.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                    args.Pos = count;
                    OnExecute(this, args);
                    count++;
                }
                else break;

            }
        }
Пример #21
0
        public override void Run()
        {
            /// алгоритм
            /// Disconnect от КПК базы
            /// на основании ConnectionSettings скопировать
            /// базу с винчейстера на КПК
            /// event в самом конце (Max = 1 Pos = 1)
            /// Running не обрабатывается
            ///

            /// Дополнение:  если ToPDA == true то копирование идет не на КПК а из КПК
            DataBasePDA.Disconnect();
            RAPI rapi=new RAPI();
            if(!ToPDA)
               try
                    {
                        if(rapi.DevicePresent)
                        rapi.Connect();
                        rapi.CopyFileToDevice(ConnectionSettings.GetSettings().PDAConnectionString,
                                              ConnectionSettings.GetSettings().PDAConString, true);
                        Loging.Loging.WriteLog("Coping to PDA complete", false, true);
                        File.Delete(ConnectionSettings.GetSettings().PDAConnectionString);

                    }
                    catch (Exception e)
                    {
                        Loging.Loging.WriteLog("Coping  to PDA failed: " + e.Message, false, true);
                    }

            else
                try
                {
                    if(rapi.DevicePresent)
                    rapi.Connect();
                    rapi.CopyFileFromDevice(ConnectionSettings.GetSettings().PDAConnectionString,
                                          ConnectionSettings.GetSettings().PDAConString, true);
                    Loging.Loging.WriteLog("Coping  from PDA complete", false, true);
                }
                catch (Exception e)
                {
                    if (e.Message == "Could not open remote file ")
                    {
                        if (ConnectionSettings.GetSettings().PDAConString == "\\Storage Card\\BelmostPDA.sdf")
                        {
                            ConnectionSettings.GetSettings().PDAConString = "\\Sd Card\\BelmostPDA.sdf";
                        }
                        else ConnectionSettings.GetSettings().PDAConString = "\\Storage Card\\BelmostPDA.sdf";
                        try
                        {
                             rapi.CopyFileFromDevice(ConnectionSettings.GetSettings().PDAConnectionString,
                                                ConnectionSettings.GetSettings().PDAConString, true);
                             Loging.Loging.WriteLog("Coping  from PDA complete", false, true);
                        }
                        catch(Exception ex)
                        {
                            Loging.Loging.WriteLog("Coping from PDA failed: " + ex.Message, false, true);
                            Coordinator.Canceled = true;
                        }
                    }
                    else
                    {
                        Loging.Loging.WriteLog("Coping from PDA failed: " + e.Message, false, true);
                        Coordinator.Canceled = true;
                    }
                }
            Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
            args.Maximum = 1;
            args.Pos = 1;
            args.runningAction = this;
            args.Name = Name();
            OnExecute(this, args);
        }
        public override void Run()
        {
            int count = 1;
            foreach (PDATable table in tables)
            {
                writer.WriteLine("CREATE TABLE " + table.Name + " (");
                int i = 1;
                int Count = table.fields.Count;
                bool HasPK = false;
                string PKStr = "";
                foreach (PDAField field in table.fields)
                {
                    writer.WriteLine("    " + field.Name + "\t\t  " + field.FullDataType +
                        "  \t" + (field.Nullable?"NULL":"NOT NULL") +
                        ((i<Count)?", ":""));
                    i++;
                    if (field.IsPK)
                    {
                        HasPK = true;
                        PKStr += field.Name + ", ";

                    }
                }
                writer.WriteLine(")");
                writer.WriteLine("GO");
                if(HasPK)
                {
                    PKStr = PKStr.Remove(PKStr.Length - 2, 2);
                    writer.WriteLine("ALTER TABLE " +table.Name + " ADD PRIMARY KEY (" + PKStr + ")");
                    writer.WriteLine("GO");
                }

                Coordinator.ExecuteDelegateArgs args = new Coordinator.ExecuteDelegateArgs();
                args.Maximum = tables.Count;//передавать в args кол-во таблиц и номер текущей (для прогресс бара)
                args.Pos = count;
                args.runningAction = this;
                args.Name = Name();
                OnExecute(this, args);
                count++;
            }
        }