public async Task <bool> DumpOneStationCell() { var stat = StationCells.Pop(); if (stat == null) { throw new NullReferenceException("stat is null!"); } await _constructionInformation .UpdateOneInUse <IConstructionInformationRepository, ConstructionInformation, ConstructionExcel>(stat); await _cellRepository .UpdateOneInUse <ICellRepository, Cell, ConstructionExcel>(stat, (info, excel) => { if (!excel.IsOutdoor) { var distribution = _distributionRepository.FirstOrDefault(x => x.IndoorSerialNum == excel.IndoorDistributionSerial); if (distribution == null) { return; } if (distribution.Longtitute > 112 && distribution.Lattitute > 22) { info.Longtitute = distribution.Longtitute; info.Lattitute = distribution.Lattitute; } } var antenna = _stationAntennaRepository.FirstOrDefault(x => x.AntennaNum == excel.AntennaSerial); if (antenna == null) { return; } if (antenna.Longtitute > 112 && antenna.Lattitute > 22) { info.Longtitute = antenna.Longtitute; info.Lattitute = antenna.Lattitute; info.ETilt = antenna.ETilt; info.MTilt = antenna.MTilt; info.Height = antenna.Height; info.Azimuth = antenna.Azimuth; info.AntennaGain = excel.BandClass == 5 ? antenna.AntennaGainLow : antenna.AntennaGainHigh; } }); return(true); }