public static bool SetMeasurePoint(MeasurePoint measurePoint) { //MeasurePointData measurePointData = new MeasurePointData //{ // RecordId = Guid.NewGuid(), // Bssid = measurePoint.Bssid, // CenterFrequency = measurePoint.CenterFrequency, // Constant = measurePoint.Constant, // Quality = measurePoint.Quality, // RssiLevel = measurePoint.RssiLevel, // Ssid = measurePoint.Ssid //}; //using (DataClassesDataContext dataContex = new DataClassesDataContext()) //{ // dataContex.MeasurePointDatas.InsertOnSubmit(measurePointData); // dataContex.SubmitChanges(); //} return true; }
public bool SetMeasurePoint(MeasurePoint measurePoint) { return DBOperation.SetMeasurePoint(measurePoint); }
private double MeasureConstant(MeasurePoint item, List<MeasurePoint> measurePointList) { List<MeasurePoint> measurePointConstantList = measurePointList.Where(m => m.Bssid == item.Bssid) .OrderBy(m => m.RssiLevel) .ToList(); double measurePointConstant; if (measurePointConstantList.Count == 0) { measurePointConstant = -27.55; } else if (measurePointConstantList.Count == 1) { measurePointConstant = measurePointConstantList.First().Constant; } else { //that this value will range between -10 and -100 dBm double min = -100; double max = -10; List<ConstantClass> ConstantList = new List<ConstantClass>(); List<ConstantClass> ConstantTempList = measurePointConstantList.Select(m => { var nextItem = measurePointConstantList.GetNext(m); var previousItem = measurePointConstantList.GetPrevious(m); double maxItem; double minItem; if (measurePointConstantList.IsFirst(m)) { double teilLevel = ((m.RssiLevel - nextItem.RssiLevel) / 3); minItem = min; maxItem = m.RssiLevel - teilLevel; } else if (measurePointConstantList.IsLast(m)) { double teilLevel = ((previousItem.RssiLevel - m.RssiLevel) / 3); double middleConstant = ((previousItem.Constant + m.Constant) / 2); minItem = m.RssiLevel + teilLevel; maxItem = max; ConstantList.Add(new ConstantClass { MaxLevel = minItem, MinLevel = minItem + teilLevel, Constant = middleConstant }); } else { double teilLevelMax = ((m.RssiLevel - nextItem.RssiLevel) / 3); double teilLevelMin = ((previousItem.RssiLevel - m.RssiLevel) / 3); double middleConstant = ((previousItem.Constant + m.Constant) / 2); minItem = m.RssiLevel + teilLevelMin; maxItem = m.RssiLevel - teilLevelMax; ConstantList.Add(new ConstantClass { MaxLevel = minItem, MinLevel = minItem + teilLevelMin, Constant = middleConstant }); } return new ConstantClass { MaxLevel = maxItem, MinLevel = minItem, Constant = m.Constant }; }).ToList(); ConstantTempList.AddRange(ConstantList); double constant = ConstantTempList.First(m => m.MinLevel < item.RssiLevel && item.RssiLevel <= m.MaxLevel).Constant; measurePointConstant = constant; } return measurePointConstant; }