public async Task CreateMacUniqueId(string Mac, string UniqueId) { try { if (!db.OmniDeviceMapping.Any(m => m.Device.MacAddress == Mac)) { var Device = await _MacAddressRepository.GetDevice(Mac); OmniDeviceMapping objOmniDeviceMapping = new OmniDeviceMapping(); objOmniDeviceMapping.DeviceId = Device.DeviceId; objOmniDeviceMapping.UniqueId = UniqueId; db.OmniDeviceMapping.Add(objOmniDeviceMapping); await db.SaveChangesAsync(); } } catch (Exception ex) { throw ex; } }
public async Task <HttpResponseMessage> DeleteDevices(RequestLocationDataVM model) { Notification objNotifications = new Notification(); DeviceAssociateSite deviceStatus = null; using (RtlsConfigurationRepository objRtlsConfigurationRepository = new RtlsConfigurationRepository()) { Site objSite = objRtlsConfigurationRepository.GetAsPerSite(model.SiteId); foreach (var item in model.MacAddresses) { // When Device is coming to delete in OmniEngiene int deviceId = _OmniDeviceMappingRepository.GetDeviceId(item); deviceStatus = objRtlsConfigurationRepository.DeviceAssociateSiteStatus(deviceId); if (deviceStatus.status == DeviceStatus.DeRegistered) { OmniEngineBusiness objOmniEngineBusiness = new OmniEngineBusiness(); RequestOmniModel objRequestOmniModel = new RequestOmniModel(); objRequestOmniModel.MacAddress = item; var returnStatus = await objOmniEngineBusiness.DeleteDevices(objRequestOmniModel); if (returnStatus == true) { try { //Delete Device ralated data DeviceAssociateSite _DeviceAssociateSite = db.DeviceAssociateSite.FirstOrDefault(k => k.DeviceId == deviceId); Device _Device = db.Device.FirstOrDefault(p => p.DeviceId == deviceId); NetWorkOfSite _NetworkOfSite = db.NetWorkOfSite.Where(p => p.SiteId == model.SiteId).Where(q => q.LocServiceTypeId != 0).FirstOrDefault(); OmniDeviceMapping _OmniDeviceMapping = db.OmniDeviceMapping.FirstOrDefault(k => k.DeviceId == deviceId); //If User registered from CaptivePortal if (_DeviceAssociateSite.IsRegisterInCaptivePortal == true) { WifiUserLoginCredential _WifiUserLoginCredential = db.WifiUserLoginCredential.Where(p => p.Device.DeviceId == deviceId).Where(q => q.NetWorkOfSiteId == _NetworkOfSite.NetWorkOfSiteId).FirstOrDefault(); WifiUser _WifiUser = db.WifiUser.Where(p => p.UserId == _WifiUserLoginCredential.WifiUserId).FirstOrDefault(); UsersAddress _UsersAddress = db.UsersAddress.Where(p => p.UserId == _WifiUser.UserId).FirstOrDefault(); db.UsersAddress.Remove(_UsersAddress); db.WifiUser.Remove(_WifiUser); db.WifiUserLoginCredential.Remove(_WifiUserLoginCredential); } db.DeviceAssociateSite.Remove(_DeviceAssociateSite); db.OmniDeviceMapping.Remove(_OmniDeviceMapping); db.Device.Remove(_Device); db.SaveChanges(); } catch (Exception ex) { log.Error(ex.Message); } } } } } return(new HttpResponseMessage() { Content = new StringContent(JsonConvert.SerializeObject(objNotifications), Encoding.UTF8, "application/json") }); }