Exemplo n.º 1
0
        public IActionResult Post([FromBody] AnagraficaRfidDeviceModel value)
        {
            var res = _repositoryRfid.CeateNewRfid(value);

            if (res)
            {
                return(Ok());
            }

            return(BadRequest());
        }
Exemplo n.º 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);
            }
        }