public void SetGeneral(ConfigGeneral gen) { if (gen.ContestName == General?.GetByName("ContestName")) { TbContestName.Text = gen.ContestName; var catidx = ConfigGeneral.GetCategoryIndex(gen.Category, General); if (catidx != -1) { CbCategory.SelectedIndex = catidx; } if (gen.PowerModeArg < WpPower.Children.Count && 0 <= gen.PowerModeArg) { (WpPower.Children[gen.PowerModeArg] as RadioButton).IsChecked = true; } else { for (int i = 0; i < WpPower.Children.Count; i++) { (WpPower.Children[i] as RadioButton).IsChecked = false; } } if (0 <= gen.Coeff) { TbCoeff.Text = gen.Coeff.ToString(); } TbMainContestNo.Text = gen.MainCn; TbSubContestNo.Text = gen.SubCn; CbPowerValue.Text = gen.PowerValue.ToString(); CbAutoOperator.IsChecked = gen.AutoOperator; TbOperator.Text = gen.Operators; } }
public ConfigGeneral GetGeneral() { #pragma warning disable IDE0017 // オブジェクトの初期化を簡略化します var gen = new ConfigGeneral(); #pragma warning restore IDE0017 // オブジェクトの初期化を簡略化します if (General == null || Check == null) { return(gen); } gen.ContestName = TbContestName.Text; gen.Category = CbCategory.SelectedValue?.ToString(); for (int i = 0; i < WpPower.Children.Count; i++) { var rb = WpPower.Children[i] as RadioButton; if (rb.IsChecked == true) { gen.PowerModeArg = i; break; } } if (TbCoeff.Text.Length > 0) { gen.Coeff = int.Parse(TbCoeff.Text); } gen.MainCn = TbMainContestNo.Text; gen.SubCn = TbSubContestNo.Text; gen.PowerValue = int.Parse(CbPowerValue.Text); gen.Operators = TbOperator.Text; gen.AutoOperator = ( CbAutoOperator.IsChecked == true); return(gen); }
// Constructor public DatabaseCommon(ConfigGeneral cfgGeneral, ConfigDatabase cfgDatabase) { m_cfgGeneral = cfgGeneral; m_cfgDatabase = cfgDatabase; m_cfgDatabase.querySELECT = HelperGetQuerySELECT(); m_cfgDatabase.queryINSERT = HelperGetQueryINSERT(); m_cfgDatabase.queryUPDATE = HelperGetQueryUPDATE(); m_cfgDatabase.queryDELETE = HelperGetQueryDELETE(); }
public async Task <ConfigGeneral> DeleteByIdAsync(int?id) { ConfigGeneral configGeneral = await _context.ConfigGeneral.FirstOrDefaultAsync(obj => obj.Id == id); _context.ConfigGeneral.Remove(configGeneral); await _context.SaveChangesAsync(); return(null); }
public async Task <IActionResult> Edit(ConfigGeneral configGeneral) { if (!ModelState.IsValid) { var viewModel = new ConfigGeneralFormViewModel { ConfigGeneral = configGeneral }; return(View(viewModel)); } await _configGeneralService.EditAsync(configGeneral); return(RedirectToAction("Visualizar")); }
public async Task <IActionResult> Create(ConfigGeneral configGeneral) { if (!ModelState.IsValid) { var viewModel = new ConfigGeneralFormViewModel { ConfigGeneral = configGeneral }; return(View(viewModel)); } await _configGeneralService.InsertAsync(configGeneral); return(RedirectToAction(nameof(Index), "Home")); }
public Configuration(IniData conf) { General = new ConfigGeneral() { debug = Convert.ToBoolean(conf["GENERAL"]["debug"]) }; Settings = new ConfigSettings() { target = new DirectoryInfo(conf["SETTINGS"]["target"]), action = (ConfigSettings.FileAction)Enum.Parse(typeof(ConfigSettings.FileAction), conf["SETTINGS"]["action"]), allow_duplicates = Convert.ToBoolean(conf["SETTINGS"]["allow_duplicates"]), close_success = Convert.ToInt32(conf["SETTINGS"]["close_success"]), move_switch = Convert.ToBoolean(conf["SETTINGS"]["close_error"]), ask_for_password = Convert.ToBoolean(conf["SETTINGS"]["ask_for_password"]), password_extraction_method = (ConfigSettings.PasswordExtractionMethod)Enum.Parse(typeof(ConfigSettings.PasswordExtractionMethod), conf["SETTINGS"]["password_extraction_method"]) }; }
private void CbCategory_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (General == null || CbCategory.SelectedValue == null) { return; } var sec = ConfigGeneral.GetSectorFromCategory(CbCategory.SelectedValue.ToString(), General); for (int i = 0; i < WpPower.Children.Count; i++) { var rb = WpPower.Children[i] as RadioButton; if (sec.Modes?.Contains(i) != true) { rb.IsEnabled = false; rb.IsChecked = false; } else { rb.IsEnabled = true; } } }
private string MakeSummery(CheckData check) { string log = "<SUMMARYSHEET VERSION=R2.0>\r\n"; try { if (check.Gens.GetByName("ContestName").IsEmpty()) { return(null); } log += "<CONTESTNAME>" + check.Gens.GetByName("ContestName") + "</CONTESTNAME>\r\n"; log += "<CATEGORYCODE>"; var catidx = ConfigGeneral.GetCategoryIndex(check.ConGen.Category, check.Gens); if (catidx != -1) { log += Sectors.ToArray(check.Gens.GetByName("Sectors")).ToArray()[catidx].Code; } else { return(null); } if (check.ConGen.PowerModeArg != -1) { log += PowerMode.ToArray(check.Gens.GetByName("PowerMode"))[check.ConGen.PowerModeArg].SuffixPowerSign; } log += "</CATEGORYCODE>\r\n"; log += "<CALLSIGN>" + check.ConSol.CallSign + "</CALLSIGN>\r\n"; if (check.ConSol.GestOp != "") { log += "<OPCALLSIGN>" + check.ConSol.GestOp + "</OPCALLSIGN>\r\n"; } log += "<TOTALSCORE>" + SumPoint + "</TOTALSCORE>\r\n"; log += "<ADDRESS>" + check.ConSol.Address + "</ADDRESS>\r\n"; log += "<NAME>" + check.ConSol.Name + "</NAME>\r\n"; log += "<TEL>" + check.ConSol.PhoneNumber + "</TEL>\r\n"; log += "<EMAIL>" + check.ConSol.MailAddress + "</EMAIL>\r\n"; log += "<POWER>" + check.ConGen.PowerValue + "</POWER>\r\n"; if (check.Ches.GetByName("CoeffSetting").ToBool()) { log += "<FDCOEFF>" + check.ConGen.Coeff + "</FDCOEFF>\r\n"; } log += "<OPPLACE>" + check.ConSol.Place + "</OPPLACE>\r\n"; log += "<POWERSUPPLY>" + check.ConSol.Supply + "</POWERSUPPLY>\r\n"; log += "<COMMENTS>" + check.ConSol.Comment + "</COMMENTS>\r\n"; if (check.ConGen.AutoOperator) { log += "<MULTIOPLIST>" + string.Join(",", check.Logs.Select(x => x.Operator).Distinct()) + "</MULTIOPLIST>\r\n"; } else { log += "<MULTIOPLIST>" + check.ConGen.Operators + "</MULTIOPLIST>\r\n"; } log += "<OATH>" + check.ConSol.Oath + "</OATH>\r\n"; log += "<DATE>" + System.DateTime.Now.ToLocalTime().ToString("yyyy年MM月dd日") + "</DATE>\r\n"; log += "<SIGNATURE>" + check.ConSol.LicenserName + "</SIGNATURE>\r\n"; } catch { return(null); } log += "</SUMMARYSHEET>\r\n"; return(log); }
public static void LoadSettings() { General = General.LoadSettings(); }
public async Task EditAsync(ConfigGeneral obj) { _context.Update(obj); await _context.SaveChangesAsync(); }
public async Task InsertAsync(ConfigGeneral obj) { _context.Add(obj); await _context.SaveChangesAsync(); }
private void Bw_DoWork(object sender, DoWorkEventArgs e) { var logs = data.Logs; var failed = new List <string>(); string tmp; NowCount = 0; Status = 0 + "/" + logs.Count; bw.ReportProgress(NowCount); for (int i = 0; i < logs.Count; i++) { if (isCancel) { break; } var l = logs[i]; var callsign = Callsign.RemoveStroke(l.Callsign); l.SetInit(); if (l.Exclude) { continue; } failed = new List <string>(); //Dupe if (logs.Count(x => x.Callsign == l.Callsign && x.Freq == l.Freq) > 1) { l.SetMax(5); failed.Add("データが重複しています。"); if (data.Ches.GetByName("ZeroByDupe").ToBool()) { l.Point = 0; } } Status = "無線局情報検索中 (" + NowCount + "/" + logs.Count + ")"; var si = ss.Execute(callsign); //DbNothing if (si == null) { l.SetMax(1); failed.Add("無線局情報の取得に失敗しました。"); } Status = "ログ確認中 (" + NowCount + "/" + logs.Count + ")"; //SentCNCheck tmp = l.SentCn; if (data.Ches.GetByName("RSTExists").ToBool()) { if (l.Mode == Modes.CW.ToString()) { tmp = tmp.Substring(3); } else { tmp = tmp.Substring(2); } } var frq = Frequency.Split(data.Ches.GetByName("AreaByFreq")); string cn; if (frq.Count(x => Frequency.ToString(x) == l.Freq) > 0) { cn = data.ConGen.SubCn; } else { cn = data.ConGen.MainCn; } if (cn != tmp) { l.SetMax(5); failed.Add("自局CN不一致"); } else { if (data.Ches.GetByName("PowerSignExists").ToBool()) { if (data.Ches.GetByName("NonSignAllowed").ToBool() == false) { if (!Regex.IsMatch(tmp, @"\d+[A-Z]")) { l.SetMax(5); failed.Add("自局CNに記号なし"); } } } } //RecvCNCheck if (data.Ches.GetByName("CheckRecvCn").ToBool() && si != null) { if (data.Ches.GetByName("RSTExists").ToBool()) { tmp = @"\d\d"; if (l.Mode == "CW") { tmp += @"\d"; } } else { tmp = ""; } if (data.Ches.GetByName("AreaNoExists").ToBool()) { tmp += @"(\d+)"; } else { tmp += @"(.*)"; } if (data.Ches.GetByName("PowerSignExists").ToBool()) { if (data.Ches.GetByName("NonSignAllowed").ToBool()) { tmp += @"([A-Z]*)"; } else { tmp += @"([A-Z])"; } } else { tmp += "()"; } var m = Regex.Matches(l.RecvCn, tmp); if (m.Count > 0 && m[0].Groups.Count > 2) { var nos = m[0].Groups[1].Value; var sign = m[0].Groups[2].Value; var pbs = Regex.Matches(data.Ches.GetByName("PointBySign"), @"(([A-Z])(\d))*"); if (pbs.Count > 0 && pbs[0].Groups.Count > 2) { for (int j = 0; j < pbs[0].Groups[2].Captures.Count - 2; j++) { if (sign == pbs[0].Groups[2].Captures[j].Value) { l.Point = int.Parse(pbs[0].Groups[3].Captures[j].Value); break; } } } if (data.Ches.GetByName("ExcludedAreaNos").Split(',').Count(x => x == nos) == 0) { var fr2q = Frequency.Split(data.Ches.GetByName("AreaByFreq")); List <AreaData> area; if (fr2q.Count(x => Frequency.ToString(x) == l.Freq) > 0) { area = data.Area2; } else { area = data.Area1; } if (Callsign.GetPortableNo(l.Callsign) != -1) { failed.Add("移動局: " + Callsign.Areas[Callsign.GetPortableNo(l.Callsign)] + "地方"); } else { var addr = area.FirstOrDefault(x => x.No == nos); if (addr == null) { l.SetMax(5); failed.Add("地域番号が存在しません"); if (Callsign.GetPortableNo(l.Callsign) == -1) { string suggest = ""; for (int k = 0; k < si.Address.Count; k++) { foreach (var aw in area.Where(x => x.Addresses.Exists(y => si.Address[k].Contains(y)))) { suggest += aw.No + ", "; break; } } failed.Add("もしかして: " + suggest); } } } } } else { l.SetMax(5); failed.Add("相手CNが不正です。"); } } //IsCallSignCheck if (data.Ches.GetByName("CheckCallsign").ToBool()) { //OnlyJA if (data.Ches.GetByName("OnlyJAStation").ToBool()) { if (!Callsign.IsJapanCall(callsign)) { l.SetMax(5); failed.Add("日本の無線局ではありません。"); } } } //DateCheck for (int j = 1; j <= 4; j++) { if (j == 4) { l.SetMax(2); failed.Add("コンテスト期間外もしくは周波数が対象外です。"); break; } //SectorCheck if (data.Ches.GetByName("CheckBySection").ToBool()) { var cat = ConfigGeneral.GetSectorFromCategory(data.ConGen.Category, data.Gens); if (cat == null) { l.SetMax(5); failed.Add("部門が見つかりません。"); } else { if (cat.EnabledFreqStr != "") { var enq = cat.EnabledFreqs.Select(x => Frequency.ToString(x)).ToList(); if (enq.Count(x => x == l.Freq) == 0) { l.SetMax(2); failed.Add("周波数が対象外です。"); } } else if (cat.UnabledFreqStr != "") { var unq = cat.UnabledFreqs.Select(x => Frequency.ToString(x)).ToList(); if (unq.Count(x => x == l.Freq) > 0) { l.SetMax(2); failed.Add("周波数が対象外です。"); } } } } //DateCheck var frq3 = Frequency.Split(data.Gens.GetByName("Freq" + j))?.Select(x => Frequency.ToString(x)).ToList(); if (frq3.Count(x => x == l.Freq) > 0) { var dt = Date.FromTerm(data.Gens.GetByName("Terms" + j), l.Date.Year); if (!(dt[0] <= l.Date && l.Date < dt[1])) { l.SetMax(2); failed.Add("コンテスト期間外です。"); } break; } } l.FailedStr = string.Join("\r\n", failed.Where(x => x != ""));; if (data.Ches.GetByName("CoeffSetting").ToBool()) { l.Point *= data.ConGen.Coeff; } NowCount++; Status = NowCount + "/" + logs.Count; bw.ReportProgress(NowCount); } Status = "ログ確認終了 (" + NowCount + "/" + logs.Count + ")"; bw.ReportProgress(NowCount); }