예제 #1
0
        /// <summary>
        /// Zwraca listę obiektów typu T pobraną z bazy lub z pamięci podręcznej
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        public object Get <T>() where T : IDBModel
        {
            if (typeof(T) != typeof(CurrentRepairModel) && typeof(T) != typeof(LatePaymentModel) && typeof(T) != typeof(IncomeModel))
            {
                foreach (var data in _dataHolder)
                {
                    if (data.Key.Equals(typeof(T)))
                    {
                        return(data.Value);
                    }
                }
            }
            else
            {
                _dataHolder.Remove(typeof(T));
            }
            DataReciever <T> dataReciever = new DataReciever <T>();
            var recievedData = dataReciever.GetList();

            if (recievedData != null)
            {
                KeyValuePair <Type, object> newEntry = new KeyValuePair <Type, object>(typeof(T), new List <T>(recievedData));
                _dataHolder.Add(newEntry.Key, newEntry.Value);
                return(newEntry.Value);
            }
            else
            {
                _lastErrorMessage = dataReciever.LastErrorMessage;
                return(null);
            }
        }
예제 #2
0
        public Form1()
        {
            InitializeComponent();
            dataGridView1.Rows.Add(STOCK_COUNT - 1);
            cbo_DataRecieved.SelectedIndex = 0;

            DataReciever data = new DataReciever();

            data.DataRecieved += UpdateGrid;
        }
예제 #3
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            ////////////////////////////////////////////////////////
            // Connect to specified IP address and port.

            DataReciever data = new DataReciever();

            data.connect(txtIpAddress.Text, txtPort.Text);

            ////////////////////////////////////////////////////////
            // TODO: Start Listening for received messages on new thread.
            // assign thread to listeningThread so we can destroy it.
        }
예제 #4
0
        /// <summary>
        /// Usuwa wskazany obiekt z bazy
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="entity">Dane obiektu do usunięcia</param>
        /// <returns>null w przypdaku powodzenia, wiadomość z błędem w przypadku niepowodzenia</returns>
        public string Delete <T>(T entity) where T : IDBModel
        {
            DataReciever <T> dataReciever = new DataReciever <T>();

            if (dataReciever.Delete(entity.Id))
            {
                foreach (var data in _dataHolder)
                {
                    if (data.Key.Equals(typeof(T)))
                    {
                        (data.Value as List <T>).Remove(entity);
                        break;
                    }
                }
            }
            return(dataReciever.LastErrorMessage);
        }
예제 #5
0
        /// <summary>
        /// Dodaje do bazy obiekt typu T
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="newEntity">Obiekt klasy modelu</param>
        /// <returns>null w przypdaku powodzenia, wiadomość z błędem w przypadku niepowodzenia</returns>
        public string Add <T>(T newEntity) where T : IDBModel
        {
            DataReciever <T> dataReciever = new DataReciever <T>();

            if (dataReciever.Update(newEntity))
            {
                foreach (var data in _dataHolder)
                {
                    if (data.Key.Equals(typeof(T)))
                    {
                        (data.Value as List <T>).Clear();
                        (data.Value as List <T>).AddRange(dataReciever.GetList());
                        break;
                    }
                }
            }
            return(dataReciever.LastErrorMessage);
        }
예제 #6
0
        /// <summary>
        /// Aktualizuje dane obiektu w bazie
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="modifiedEntity">Dane obiektu po modyfikacji</param>
        /// <param name="oldEntity">Dane obiektu przed modyfikacją</param>
        /// <returns>null w przypdaku powodzenia, wiadomość z błędem w przypadku niepowodzenia</returns>
        public string Update <T>(T modifiedEntity, T oldEntity) where T : IDBModel
        {
            DataReciever <T> dataReciever = new DataReciever <T>();

            if (dataReciever.Update(modifiedEntity))
            {
                foreach (var data in _dataHolder)
                {
                    if (data.Key.Equals(typeof(T)))
                    {
                        var entityList = data.Value as List <T>;
                        entityList[entityList.IndexOf(oldEntity)] = modifiedEntity;
                        break;
                    }
                }
            }
            return(dataReciever.LastErrorMessage);
        }
예제 #7
0
        public object Get <T>() where T : IDBModel
        {
            foreach (var data in _dataHolder)
            {
                if (data.Key.Equals(typeof(T)))
                {
                    return(data.Value);
                }
            }
            DataReciever <T> dataReciever = new DataReciever <T>();
            var recievedData = dataReciever.GetList();

            if (recievedData != null)
            {
                KeyValuePair <Type, object> newEntry = new KeyValuePair <Type, object>(typeof(T), recievedData);
                _dataHolder.Add(newEntry.Key, newEntry.Value);
                return(newEntry.Value);
            }
            else
            {
                _lastErrorMessage = dataReciever.LastErrorMessage;
                return(null);
            }
        }
예제 #8
0
 public HomeController(SensorsContext context)
 {
     _context = context;
     dbw      = new DBWorker(_context);
     dr       = new DataReciever(_context);
 }