Example #1
0
        /// <summary>
        /// case -3  нет записей в таб. Model_CycleDateTime (таб. пустая)
        /// </summary>
        private void NoMaxIdTableCycle_CalcTransitionCmena(SqlContext db)
        {
            Model_CycleDateTime m_CycleDateTime = new Model_CycleDateTime();

            m_CycleDateTime.Id_DateTime = db.model_dateTime.Min(p => p.Id_DateTime);
            m_CycleDateTime.CycleTime   = "00:00:00";
            db.model_CycleDateTime.Add(m_CycleDateTime);

            SaveChangesSql(db, m_CycleDateTime.Id_Cycle, "NoMaxIdTableCycle_CalcTransitionCmena(SqlContext db)");
        }
Example #2
0
        // calc and insert DowntimeCmena to BD SQL
        private void CalcDowntimeCmenaToSql(LoadCpu loadCpu, SqlContext db, long lastId, long nextId, List <DateTime> downtimeArr, bool flagYesRecords)
        {
            for (int i = 1; i < downtimeArr.Count; i++)
            {
                if ((!flagYesRecords) && (i == downtimeArr.Count - 1))
                {
                    return;                                                     // ели нет последнего колеса, выход, не записывая первую запись
                }
                Model_CycleDateTime mCycleDateTime = new Model_CycleDateTime();

                // признак простоя перехода смен
                foreach (var itemSmenPattern in transitionSmenPattern)
                {
                    if ((downtimeArr[i].Hour == itemSmenPattern) && (downtimeArr[i].Second == 0) && (downtimeArr[i].Minute == 0))
                    {
                        mCycleDateTime.FlagDownTimeSmena = true;
                        break;
                    }
                    else
                    {
                        mCycleDateTime.FlagDownTimeSmena = false;
                    }
                }

                mCycleDateTime.Id_DateTime = Convert.ToInt64(
                    loadCpu.NormalIntToString(downtimeArr[i].Year)
                    + loadCpu.NormalIntToString(downtimeArr[i].Month)
                    + loadCpu.NormalIntToString(downtimeArr[i].Day)
                    + loadCpu.NormalIntToString(downtimeArr[i].Hour)
                    + loadCpu.NormalIntToString(downtimeArr[i].Minute)
                    + loadCpu.NormalIntToString(downtimeArr[i].Second)
                    );

                //TODO проверка на дубликаты в БД
                var lastDateTime = db.model_CycleDateTime.FirstOrDefault(oldDt => oldDt.Id_DateTime == mCycleDateTime.Id_DateTime);

                if (lastDateTime != null)
                {
                    // если Id существует в БД  // ПРОВЕРКА НА ДУБЛИКАТЫ!!!!!
                    continue;
                }

                mCycleDateTime.CycleTime   = keyNull;
                mCycleDateTime.DownTime    = keyNull;
                mCycleDateTime.Microsimple = false;
                db.model_CycleDateTime.Add(mCycleDateTime);

                //db.SaveChanges();
                SaveChangesSql(db, mCycleDateTime.Id_Cycle, "CalcDowntimeCmenaToSql(SqlContext db, long lastId, long nextId, List<DateTime> downtimeArr, bool flagYesRecords)");
            }
        }