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(); }
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); } }