示例#1
0
        public bool IsHaveDbWithQrParametrs(QrCodeData qrCode)
        {
            bool produkt_param = false;
            bool serial_param  = false;

            foreach (DataBase db in m_DataBasesCollection)
            {
                foreach (QrItem qr in qrCode.ListQrItems)
                {
                    if (qr.Type == db.TypeOfDataSerial)
                    {
                        serial_param = true;
                    }

                    if (qr.Type == db.TypeDbProdukt.Type && qr.Value == db.TypeDbProdukt.Key)
                    {
                        produkt_param = true;
                    }
                }
            }
            if (produkt_param && serial_param)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#2
0
        //можно ли добавить данный qr-код в базы с этими индексами
        private bool is_can_to_Add(int[] db_indexes, QrCodeData qrCode)
        {
            if (db_indexes.Length > 0)
            {
                int sucsess_counter = 0;

                for (int i = 0; i < db_indexes.Length; i++)
                {
                    foreach (QrItem qr in qrCode.ListQrItems)
                    {
                        if (qr.Type == m_DataBasesCollection[db_indexes[i]].TypeOfDataSerial)
                        {
                            if (!m_DataBasesCollection[db_indexes[i]].IsItemContain(qr))
                            {
                                sucsess_counter++;
                            }
                            if (m_DataBasesCollection[db_indexes[i]].IsItemContain(qr) && qr.NoIncrimented)
                            {
                                sucsess_counter++;
                            }
                        }
                    }
                }
                if (sucsess_counter == db_indexes.Length)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            return(false);
        }
示例#3
0
        //возвращает индексы баз данных в которые необходимо добавить qr-код
        private int[] DbIndexesForQrDataSave(QrCodeData qrCode)
        {
            List <int> indexes = new List <int>();

            for (int i = 0; i < m_DataBasesCollection.Count; i++)
            {
                bool produkt_param = false;
                bool serial_param  = false;
                foreach (QrItem qr in qrCode.ListQrItems)
                {
                    if (qr.Type == m_DataBasesCollection[i].TypeOfDataSerial)
                    {
                        serial_param = true;
                    }

                    if (qr.Type == m_DataBasesCollection[i].TypeDbProdukt.Type && qr.Value == m_DataBasesCollection[i].TypeDbProdukt.Key)
                    {
                        produkt_param = true;
                    }
                }
                if (produkt_param && serial_param)
                {
                    indexes.Add(i);
                }
            }
            return(indexes.ToArray());
        }
示例#4
0
 public void AddQrInPacket(QrCodeData qr)
 {
     if (m_ListInPackets == null)
     {
         m_ListInPackets = new List <QrCodeData>();
         m_ListInPackets.Add(qr);
     }
     else
     {
         m_ListInPackets.Add(qr);
     }
 }
示例#5
0
 /// <summary>
 /// возвращает последнее занесенное значение из базы соответствующей параметрам qr кода
 /// </summary>
 /// <param name="qrCode"></param>
 /// <param name="qritem"></param>
 /// <returns></returns>
 public string GetLastValueFromDb(QrCodeData qrCode, QrItem qritem)
 {
     for (int i = 0; i < m_DataBasesCollection.Count; i++)
     {
         foreach (QrItem qr in qrCode.ListQrItems)
         {
             if (qr.Type == m_DataBasesCollection[i].TypeDbProdukt.Type && qr.Value == m_DataBasesCollection[i].TypeDbProdukt.Key && qritem.Type == m_DataBasesCollection[i].TypeOfDataSerial)
             {
                 if (m_DataBasesCollection[i].DataBaseItems.Count > 0)
                 {
                     return(m_DataBasesCollection[i].DataBaseItems[m_DataBasesCollection[i].DataBaseItems.Count - 1].QrItem.Value);
                 }
             }
         }
     }
     return(null);
 }
示例#6
0
        /// <summary>
        /// Копирует объект в аргументе
        /// </summary>
        /// <param name="qr"></param>
        public QrCodeData(QrCodeData qr)
        {
            QrItem[] arr = new QrItem[qr.m_ListQrItems.Count];
            qr.ListQrItems.CopyTo(arr);
            m_ListQrItems = new List <QrItem>();
            m_ListQrItems.AddRange(arr);

            if (qr.ListInPackets != null)
            {
                if (qr.ListInPackets.Count > 0)
                {
                    QrCodeData[] arr_qr = new QrCodeData[qr.ListInPackets.Count];
                    qr.ListInPackets.CopyTo(arr_qr);

                    m_ListInPackets = new List <QrCodeData>();
                    m_ListInPackets.AddRange(arr_qr);
                }
            }
        }
示例#7
0
 /// <summary>
 /// добавляет qr итем в базу
 /// </summary>
 /// <param name="qr"></param>
 /// <param name="qrData"></param>
 /// <returns></returns>
 public bool AddItemInBase(QrItem qr, QrCodeData qrData)
 {
     if (qr.Type != m_TypeOfDataSerial)
     {
         return(false);
     }
     else
     {
         foreach (DataBaseItem dbi in m_DataBaseItems)
         {
             if (dbi.QrItem.Value == qr.Value)
             {
                 return(false);
             }
         }
         m_DataBaseItems.Add(new DataBaseItem(qr, qrData.GenerateQrCode(false)));
         return(true);
     }
 }
示例#8
0
 public bool AddQrCodeToDataBases(QrCodeData qrCode)
 {
     int[] db_indexes = DbIndexesForQrDataSave(qrCode);
     if (is_can_to_Add(db_indexes, qrCode))
     {
         for (int i = 0; i < db_indexes.Length; i++)
         {
             foreach (QrItem qr in qrCode.ListQrItems)
             {
                 if (qr.Type == m_DataBasesCollection[db_indexes[i]].TypeOfDataSerial)
                 {
                     m_DataBasesCollection[db_indexes[i]].AddItemInBase(qr, qrCode);
                 }
             }
         }
         return(true);
     }
     return(false);
 }