示例#1
0
        void updateRfidHistory(RfidDevice rfid, RfidOperations operation)
        {
            RfidDeviceHistory rfidHistory = new RfidDeviceHistory();

            rfidHistory.RfidDeviceCode      = rfid.RfidDeviceCode;
            rfidHistory.InsertDate          = DateTime.Now;
            rfidHistory.RfidDeviceOperation = (int)operation;
            rfidHistory.ApplicationUserID   = rfid.ApplicationUserID;
            rfidHistory.Active       = rfid.Active;
            rfidHistory.AnagraficaID = rfid.AnagraficaID;

            _context.RfidDeviceHistory.AddAsync(rfidHistory);
            _context.SaveChanges();
        }
示例#2
0
        public bool CeateNewRfid(AnagraficaRfidDeviceModel item)
        {
            try
            {
                var l_anag = _context.Anagrafica.Where(i => i.Email == item.anagrafica.Email && i.ApplicationUserID == _appCurrentUserID).SingleOrDefault();

                // check id user exists
                // se user non esiste crea uno nuovo
                if (l_anag == null)
                {
                    Anagrafica anag = item.anagrafica;
                    anag.CreationDate      = DateTime.Now;
                    anag.ApplicationUserID = _appCurrentUserID;
                    _context.Anagrafica.Add(anag);
                    _context.SaveChanges();

                    l_anag = _context.Anagrafica.Where(i => i.Email == item.anagrafica.Email && i.ApplicationUserID == _appCurrentUserID).SingleOrDefault();
                }

                item.anagrafica.AnagraficaID = l_anag.AnagraficaID;

                var rfid = _context.RfidDevice
                           .Where(i => i.RfidDeviceCode == item.device.RfidDeviceCode && i.ApplicationUserID == _appCurrentUserID)
                           .SingleOrDefault();


                if (rfid != null)
                {
                    rfid.AnagraficaID     = item.anagrafica.AnagraficaID;
                    rfid.ExpirationDate   = item.device.ExpirationDate;
                    rfid.LastModifiedDate = DateTime.Now;
                    rfid.Credit           = 0;
                    rfid.Active           = true;

                    //update
                    _context.RfidDevice.Update(rfid);
                    _context.SaveChanges();

                    //aggiorna history
                    updateRfidHistory(rfid, RfidOperations.Assegna);
                }
                else
                {
                    // new

                    RfidDevice l_rfid = new RfidDevice();
                    l_rfid.RfidDeviceCode    = item.device.RfidDeviceCode;
                    l_rfid.ExpirationDate    = item.device.ExpirationDate;
                    l_rfid.CreationDate      = DateTime.Now;
                    l_rfid.LastModifiedDate  = DateTime.Now;
                    l_rfid.Credit            = 0;
                    l_rfid.ApplicationUserID = item.device.ApplicationUserID;
                    l_rfid.Active            = true;
                    l_rfid.AnagraficaID      = l_anag.AnagraficaID;

                    _context.RfidDevice.AddAsync(l_rfid);
                    _context.SaveChanges();

                    //aggiorna history
                    updateRfidHistory(l_rfid, RfidOperations.Assegna);
                }

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }