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