public async Task <ActionResult <license> > Postlicense(license license) { _context.licenses.Add(license); await _context.SaveChangesAsync(); return(CreatedAtAction("Getlicense", new { id = license.id }, license)); }
public async Task <IActionResult> Putlicense(int id, license license) { if (id != license.id) { return(BadRequest()); } _context.Entry(license).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!licenseExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public static async void giveLicense(this Player player, license license, int hours, Player by = null) { if (player.HasData("licenses")) { var curentlicenses = player.GetData <List <model> >("licenses"); if (curentlicenses.Find(a => a.type == license) == null) { curentlicenses.Add(new model(license, hours)); player.SetData("licenses", curentlicenses); await databaseManager.updateQuery($"UPDATE accounts SET licenses = '{NAPI.Util.ToJson(curentlicenses)}' WHERE username = '******' LIMIT 1").Execute(); } else if (by != null) { by.SendChatMessage($"{player.Name} already has the {license} for {hours}"); } } }
private void btnExport_Click(object sender, EventArgs e) { if (dataGridView1.RowCount > 0) { DataGridViewSelectedRowCollection rows = dataGridView1.SelectedRows; if (rows.Count > 0) { SaveFileDialog sfd = new SaveFileDialog(); sfd.DefaultExt = "xml"; sfd.CheckPathExists = true; sfd.Filter = "*.xml|xml files|*.*|all files"; sfd.FileName = "license.xml"; sfd.FilterIndex = 0; sfd.OverwritePrompt = true; sfd.RestoreDirectory = true; sfd.Title = "Enter name of file to export these " + rows.Count.ToString() + " license(s)"; sfd.ValidateNames = true; string sFileName = ""; if (sfd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { sFileName = sfd.FileName; } else { return; } LicenseXML licenseXML = new LicenseXML(); List <Helpers.license> licenseList = new List <license>(); foreach (DataGridViewRow drv in rows) { DataRow dr = (drv.DataBoundItem as DataRowView).Row; Helpers.license lic = new license(); lic.id = dr["deviceid"].ToString(); lic.key = dr["key"].ToString(); lic.user = dr["endcustomer"].ToString(); licenseList.Add(lic); } licenseXML.licenses = licenseList.ToArray(); if (LicenseXML.serialize(licenseXML, sFileName)) { MessageBox.Show("license(s) saved to " + sFileName); } } } }
public static async Task setLicense(this Player player, license license, int hours, Player by = null) { if (player.HasData("licenses")) { var curentlicenses = player.GetData <List <model> >("licenses"); if (curentlicenses.Find(a => a.type == license) == null) { curentlicenses.Add(new model(license, hours)); player.SetData("licenses", curentlicenses); await databaseManager.updateQuery($"UPDATE accounts SET licenses = '{NAPI.Util.ToJson(curentlicenses)}' WHERE username = '******' LIMIT 1").Execute(); } else { curentlicenses.Find(a => a.type == license).hours = hours; player.SetData("licenses", curentlicenses); await databaseManager.updateQuery($"UPDATE accounts SET licenses = '{NAPI.Util.ToJson(curentlicenses)}' WHERE username = '******' LIMIT 1").Execute(); } } }
public static async Task <bool> removeLicense(this Player player, license license, Player by = null) { if (player.HasData("licenses")) { var curentlicenses = player.GetData <List <model> >("licenses"); if (curentlicenses.Find(a => a.type == license) != null) { curentlicenses.Remove(curentlicenses.Find(a => a.type == license)); } else { return(false); } player.SetData("licenses", curentlicenses); await databaseManager.updateQuery($"UPDATE accounts SET licenses = '{NAPI.Util.ToJson(curentlicenses)}' WHERE username = '******' LIMIT 1").Execute(); return(true); } return(false); }
public static void Main(string[] args) { //указываем урл сервиса ws.Url = "http://www.cbr.ru/CreditInfoWebServ/CreditOrgInfo.asmx?WSDL"; //урл справочника БИК КО string url = "http://cbr.ru/scripts/XML_bic2.asp"; //Грузим справочники по формам 101 и 102 XDocument cls101 = XDocument.Parse(ws.Form101IndicatorsEnumXML().OuterXml); //cls101.Save("cls101.xml"); XDocument cls102 = XDocument.Parse(ws.Form102IndicatorsEnumXML().OuterXml); Thread.Sleep(1500); //Грузим список КО XDocument doc = XDocument.Parse(DownloadCO(url)); List <bank> banks = new List <bank>(); List <bank_childs> cOffices = new List <bank_childs>(); List <Form101> form101 = new List <Form101>(); List <Form102> form102 = new List <Form102>(); List <Form123> form123 = new List <Form123>(); //"Поехали!" © Юрий гагарин foreach (XElement e in doc.Root.Elements("Record")) { Console.WriteLine("БИК: {0} ОГРН: {1}", e.Element("Bic").Value, e.Element("RegNum").Value); bank BankCard = new bank(); try { BankCard.Bic = e.Element("Bic").Value; } catch { BankCard.Bic = ""; } try { BankCard.ogrn = e.Element("RegNum").Value; } catch { BankCard.ogrn = ""; } try { BankCard.IntCode = ws.BicToIntCode(BankCard.Bic); } catch { BankCard.IntCode = 0; } Thread.Sleep(1500); //грузим карточку КО XDocument CreditInfo = null; while (CreditInfo == null) { try { CreditInfo = XDocument.Parse(ws.CreditInfoByIntCodeXML(BankCard.IntCode).OuterXml); } catch { Console.WriteLine("Trying connection..."); } } try { CreditInfo = XDocument.Parse(ws.CreditInfoByIntCodeXML(BankCard.IntCode).OuterXml); } catch { CreditInfo = XDocument.Parse(ws.CreditInfoByIntCodeXML(BankCard.IntCode).OuterXml); } //Заполняем остальные поля try { BankCard.RegNum = CreditInfo.Root.Element("CO").Element("RegNumber").Value; } catch { BankCard.RegNum = ""; } try { BankCard.Name = CreditInfo.Root.Element("CO").Element("OrgName").Value; } catch { BankCard.Name = ""; } try { BankCard.OrgFullName = CreditInfo.Root.Element("CO").Element("OrgFullName").Value; } catch { BankCard.OrgFullName = ""; } try { BankCard.phones = CreditInfo.Root.Element("CO").Element("phones").Value; } catch { BankCard.phones = ""; } try { BankCard.DateKGRRegistration = CreditInfo.Root.Element("CO").Element("DateKGRRegistration").Value; } catch { BankCard.DateKGRRegistration = ""; } try { BankCard.MainDateReg = CreditInfo.Root.Element("CO").Element("MainDateReg").Value; } catch { BankCard.MainDateReg = ""; } try { BankCard.UstavAdr = CreditInfo.Root.Element("CO").Element("UstavAdr").Value; } catch { BankCard.UstavAdr = ""; } try { BankCard.FactAdr = CreditInfo.Root.Element("CO").Element("FactAdr").Value; } catch { BankCard.FactAdr = ""; } try { BankCard.Director = CreditInfo.Root.Element("CO").Element("Director").Value; } catch { BankCard.Director = ""; } try { BankCard.UstMoney = CreditInfo.Root.Element("CO").Element("UstMoney").Value; } catch { BankCard.UstMoney = ""; } try { BankCard.OrgStatus = CreditInfo.Root.Element("CO").Element("OrgStatus").Value; } catch { BankCard.OrgStatus = ""; } try { BankCard.RegCode = CreditInfo.Root.Element("CO").Element("RegCode").Value; } catch { BankCard.RegCode = ""; } try { BankCard.SSV_Date = CreditInfo.Root.Element("CO").Element("SSV_Date").Value; } catch { BankCard.SSV_Date = ""; } //офисы/филиалы XDocument offices = XDocument.Parse(ws.GetOfficesXML(BankCard.IntCode).OuterXml); foreach (XElement o in offices.Root.Elements("Offices")) { bank_childs cOffice = new bank_childs(); try { cOffice.IntCode = BankCard.IntCode; } catch { cOffice.IntCode = 0; } try { cOffice.RegNum = BankCard.RegNum; } catch { cOffice.RegNum = ""; } try { cOffice.Bic = BankCard.Bic; } catch { cOffice.Bic = ""; } try { cOffice.ogrn = BankCard.ogrn; } catch { cOffice.ogrn = ""; } try { cOffice.Name = BankCard.Name; } catch { cOffice.Name = ""; } try { cOffice.OrgFullName = BankCard.OrgFullName; } catch { cOffice.OrgFullName = ""; } try { cOffice.cregnum = o.Element("cregnum").Value; } catch { cOffice.cregnum = ""; } try { cOffice.cname = o.Element("cname").Value; } catch { cOffice.cname = ""; } try { cOffice.cndate = o.Element("cndate").Value; } catch { cOffice.cndate = ""; } try { cOffice.straddrmn = o.Element("straddrmn").Value; } catch { cOffice.straddrmn = ""; } try { cOffice.RegId = o.Element("RegId").Value; } catch { cOffice.RegId = ""; } cOffices.Add(cOffice); } //заполняем Licenses foreach (XElement l in CreditInfo.Root.Elements("LIC")) { license lic = new license(); BankCard.licenses = new List <license>(); try { lic.RegNum = BankCard.RegNum; } catch { lic.RegNum = ""; } try { lic.LCode = l.Element("LCode").Value; } catch { lic.LCode = ""; } try { lic.name = l.Element("LT").Value; } catch { lic.name = ""; } try { lic.Date = l.Element("LDate").Value; } catch { lic.Date = ""; } BankCard.licenses.Add(lic); } banks.Add(BankCard); } //заполняем массив рег. номеров КО, для получения общей отчетности по всем КО object [] CredOrgNumbers = new object[banks.Count]; for (int i = 0; i < banks.Count; i++) { Console.WriteLine("{0} {1} {2} {3}", banks[i].RegNum, banks[i].IntCode, banks[i].Bic, banks[i].Name); CredOrgNumbers[i] = banks[i].RegNum; } //Сбрасываем в файл справочник КО StreamWriter writer = new StreamWriter("cls_CreditOrgsInfo.csv", false, Encoding.Default); StreamWriter writer_licenses = new StreamWriter("cls_CreditOrgsInfo_licenses.csv", false, Encoding.Default); StreamWriter writer_offices = new StreamWriter("cls_CreditOrgsInfo_offices.csv", false, Encoding.Default); foreach (bank b in banks) { Console.WriteLine("{0} {1} {2} {3}", b.RegNum, b.IntCode, b.Bic, b.Name); writer.WriteLine(b.IntCode + ";" + b.RegNum.Trim() + ";" + b.Bic.Trim() + ";" + b.ogrn.Trim() + ";" + b.Name.Trim() + ";" + b.OrgFullName.Trim() + ";" + b.MainDateReg.Trim() + ";" + b.DateKGRRegistration.Trim() + ";" + b.SSV_Date.Trim() + ";" + b.UstavAdr.Trim() + ";" + b.FactAdr.Trim() + ";" + b.Director.Trim() + ";" + b.UstMoney.Trim() + ";" + b.OrgStatus.Trim() + ";" + b.RegCode.Trim() + ";" + b.phones.Trim() ); try { foreach (bank_childs c in cOffices) { writer_offices.WriteLine(c.IntCode + ";" + c.RegNum.Trim() + ";" + c.Bic.Trim() + ";" + c.ogrn.Trim() + ";" + c.Name.Trim() + ";" + c.OrgFullName.Trim() + ";" + c.cregnum.Trim() + ";" + c.cname.Trim() + ";" + c.cndate.Trim() + ";" + c.straddrmn.Replace("\n", "").Replace("\r", "").Replace(";", ",").Trim() + ";" + c.RegId.Trim() ); writer_offices.Flush(); } } catch { Console.WriteLine("Нет офисов?!"); } try { foreach (license l in b.licenses) { writer_licenses.WriteLine(l.RegNum.Trim() + ";" + l.LCode.Trim() + ";" + l.name.Trim() + ";" + l.Date.Trim()); writer_licenses.Flush(); } writer.Flush(); } catch { Console.WriteLine("Нет лицензий?!"); } } writer.Close(); writer_licenses.Close(); writer.Dispose(); writer_licenses.Dispose(); writer_offices.Close(); writer_offices.Dispose(); //Собираем отчетность по 123 форме для всех КО writer = new StreamWriter("cls_CreditOrgsInfo_form123.csv", false, Encoding.Default); foreach (bank b in banks) { int RegNum = 0; try { RegNum = Convert.ToInt16(b.RegNum); } catch { RegNum = 0; } DateTime[] dates = null; while (dates == null) { try { dates = ws.GetDatesForF123(RegNum); } catch { Console.WriteLine("Trying connection..."); } } foreach (DateTime date in dates.Where(d => DateTime.Compare(d, DateTime.Parse("01.10.2017")) > 0)) { XDocument Data123Full = null; Thread.Sleep(1500); try { Data123Full = XDocument.Parse(ws.Data123FormFullXML(RegNum, date).OuterXml); } catch { File.AppendAllText("log123.txt", date.ToString() + " | " + b.RegNum + Environment.NewLine); Console.WriteLine("oops"); break; } //form123 Form123 f = new Form123(); foreach (XElement e in Data123Full.Root.Elements("F123")) { try { f.RegNum = b.RegNum; } catch { f.RegNum = ""; } //Регистрацонный номер КО try { f.Date = date.ToString("yyyy-MM-dd"); } catch { f.Date = ""; } //Дата (значения показателей привязаны к дате) try { f.IndCode = e.Element("CODE").Value; } catch { f.IndCode = ""; } //Номер счета индикатора/код показателя try { f.name = e.Element("NAME").Value; } catch { f.RegNum = ""; } //Название счетов баланса индикатора try { f.value = e.Element("VALUE").Value; } catch { f.value = ""; } //значение показателя Console.WriteLine("{0} {1} {2}", "Форма 123", f.RegNum, f.IndCode); writer.WriteLine(f.IndCode + ";" + f.name.Trim().Replace(";", "").Replace("\r", " ").Replace("\n", "") + ";" + f.Date + ";" + f.RegNum + ";" + f.value); writer.Flush(); } } } writer.Close(); //Собираем отчетность по 101 форме для всех КО //Сбрасываем в файл отчетность КО 101 формы writer = new StreamWriter("cls_CreditOrgsInfo_form101.csv", false, Encoding.Default); foreach (XElement e in cls101.Root.Elements("EIND").Where(a => a.Element("IndCode") != null)) { Console.WriteLine("Грузим данные по 101 форме..."); string IndCode = ""; try { IndCode = e.Element("IndCode").Value; } catch { IndCode = ""; } XDocument Data101Full = null; while (Data101Full == null) { try { Data101Full = XDocument.Parse(ws.Data101FullExV2XML(CredOrgNumbers, IndCode, DateTime.Parse("02.10.2017"), DateTime.Now).OuterXml); } catch { Console.WriteLine("Trying connection..."); } } try { foreach (XElement d in Data101Full.Root.Elements("FD")) { Form101 f = new Form101(); try { f.RegNum = d.Element("regn").Value; } catch { f.RegNum = ""; } //Регистрацонный номер КО try { f.Date = d.Element("DT").Value; } catch { try { f.Date = d.Element("dt").Value; } catch { f.Date = ""; } } //Дата (значения показателей привязаны к дате) try { f.value = d.Element("val").Value; } catch { f.value = ""; } //Значение символа - cумма try { f.IndID = e.Element("IndID").Value; } catch { f.IndID = ""; } //Внутренний код индикатора try { f.IndCode = e.Element("IndCode").Value; } catch { f.IndCode = ""; } //Номер счета индикатора try { f.name = e.Element("name").Value; } catch { f.name = ""; } //Название счетов баланса индикатора try { f.IndType = e.Element("IndType").Value; } catch { f.IndType = ""; } //Код счета индикатора try { f.IndChapter = e.Element("IndChapter").Value; } catch { f.IndChapter = ""; } //Код раздела индикатора // try { f.pln = d.Element("pln").Value; } catch { f.pln = ""; } //Балансовые счета try { f.ap = d.Element("ap").Value; } catch { f.ap = ""; } //Актив/Пассив try { f.vr = d.Element("vr").Value; } catch { f.vr = ""; } //Входящие остатки в рублях try { f.vv = d.Element("vv").Value; } catch { f.vv = ""; } //Входящие остатки в ин. вал., драг. металлы try { f.vitg = d.Element("vitg").Value; } catch { f.vitg = ""; } //Входящие остатки итого try { f.ora = d.Element("ora").Value; } catch { f.ora = ""; } //Обороты за отчетный период по дебету в рублях try { f.ova = d.Element("ova").Value; } catch { f.ova = ""; } //Обороты за отчетный период по дебету в ин. вал., драг. металлы try { f.oitga = d.Element("oitga").Value; } catch { f.oitga = ""; } //Обороты за отчетный период по дебету итого try { f.orp = d.Element("orp").Value; } catch { f.orp = ""; } //Обороты за отчетный период по кредиту в рублях try { f.ovp = d.Element("ovp").Value; } catch { f.ovp = ""; } //Обороты за отчетный период по кредиту в ин. вал., драг. металлы try { f.oitgp = d.Element("oitgp").Value; } catch { f.oitgp = ""; } //Обороты за отчетный период по кредиту итого try { f.ir = d.Element("ir").Value; } catch { f.ir = ""; } //Исходящие остатки в рублях try { f.iv = d.Element("iv").Value; } catch { f.iv = ""; } //Исходящие остатки в ин. вал., драг. металлы try { f.iitg = d.Element("iitg").Value; } catch { f.iitg = ""; } //Исходящие остатки итого Console.WriteLine("{0} {1} {2}", "Форма 101", f.RegNum, f.IndCode); writer.WriteLine(f.IndID + ";" + f.IndCode + ";" + f.name.Trim().Replace(";", "").Replace("\r", " ").Replace("\n", "") + ";" + f.IndType + ";" + f.IndChapter + ";" + f.RegNum + ";" + f.Date + ";" + f.value + ";" + f.pln + ";" + f.ap + ";" + f.vr + ";" + f.vv + ";" + f.vitg + ";" + f.ora + ";" + f.ova + ";" + f.oitga + ";" + f.orp + ";" + f.ovp + ";" + f.oitgp + ";" + f.ir + ";" + f.iv + ";" + f.iitg ); writer.Flush(); } } catch { Console.WriteLine("Нет такого элемента!"); } try { foreach (XElement d in Data101Full.Root.Elements("FDF")) { Form101 f = new Form101(); try { f.RegNum = d.Element("regn").Value; } catch { f.RegNum = ""; } //Регистрацонный номер КО try { f.Date = d.Element("DT").Value; } catch { try { f.Date = d.Element("dt").Value; } catch { f.Date = ""; } } //Дата (значения показателей привязаны к дате) try { f.value = d.Element("val").Value; } catch { f.value = ""; } //Значение символа - cумма try { f.IndID = e.Element("IndID").Value; } catch { f.IndID = ""; } //Внутренний код индикатора try { f.IndCode = e.Element("IndCode").Value; } catch { f.IndCode = ""; } //Номер счета индикатора try { f.name = e.Element("name").Value; } catch { f.name = ""; } //Название счетов баланса индикатора try { f.IndType = e.Element("IndType").Value; } catch { f.IndType = ""; } //Код счета индикатора try { f.IndChapter = e.Element("IndChapter").Value; } catch { f.IndChapter = ""; } //Код раздела индикатора // try { f.pln = d.Element("pln").Value; } catch { f.pln = ""; } //Балансовые счета try { f.ap = d.Element("ap").Value; } catch { f.ap = ""; } //Актив/Пассив try { f.vr = d.Element("vr").Value; } catch { f.vr = ""; } //Входящие остатки в рублях try { f.vv = d.Element("vv").Value; } catch { f.vv = ""; } //Входящие остатки в ин. вал., драг. металлы try { f.vitg = d.Element("vitg").Value; } catch { f.vitg = ""; } //Входящие остатки итого try { f.ora = d.Element("ora").Value; } catch { f.ora = ""; } //Обороты за отчетный период по дебету в рублях try { f.ova = d.Element("ova").Value; } catch { f.ova = ""; } //Обороты за отчетный период по дебету в ин. вал., драг. металлы try { f.oitga = d.Element("oitga").Value; } catch { f.oitga = ""; } //Обороты за отчетный период по дебету итого try { f.orp = d.Element("orp").Value; } catch { f.orp = ""; } //Обороты за отчетный период по кредиту в рублях try { f.ovp = d.Element("ovp").Value; } catch { f.ovp = ""; } //Обороты за отчетный период по кредиту в ин. вал., драг. металлы try { f.oitgp = d.Element("oitgp").Value; } catch { f.oitgp = ""; } //Обороты за отчетный период по кредиту итого try { f.ir = d.Element("ir").Value; } catch { f.ir = ""; } //Исходящие остатки в рублях try { f.iv = d.Element("iv").Value; } catch { f.iv = ""; } //Исходящие остатки в ин. вал., драг. металлы try { f.iitg = d.Element("iitg").Value; } catch { f.iitg = ""; } //Исходящие остатки итого Console.WriteLine("{0} {1} {2}", "Форма 101", f.RegNum, f.IndCode); writer.WriteLine(f.IndID + ";" + f.IndCode + ";" + f.name.Trim().Replace(";", "").Replace("\r", " ").Replace("\n", "") + ";" + f.IndType + ";" + f.IndChapter + ";" + f.RegNum + ";" + f.Date + ";" + f.value + ";" + f.pln + ";" + f.ap + ";" + f.vr + ";" + f.vv + ";" + f.vitg + ";" + f.ora + ";" + f.ova + ";" + f.oitga + ";" + f.orp + ";" + f.ovp + ";" + f.oitgp + ";" + f.ir + ";" + f.iv + ";" + f.iitg ); writer.Flush(); } } catch { Console.WriteLine("Нет такого элемента!"); } } writer.Close(); writer.Dispose(); //------------------------------------------------------------------------------ List <Form102> clsForm102 = new List <Form102>(); foreach (XElement e in cls102.Root.Elements("SIND").Where(a => a.Element("symbol") != null)) { try { Form102 f = new Form102(); try { f.symid = e.Element("symid").Value; } catch { f.symid = ""; } //внутренний код try { f.symsort = e.Element("symsort").Value; } catch { f.symsort = ""; } //порядок сортировки try { f.symbol = e.Element("symbol").Value; } catch { f.symbol = ""; } //Код показателя try { f.symtype = e.Element("symtype").Value; } catch { f.symtype = ""; } try { f.name = e.Element("name").Value.Trim(); } catch { f.name = ""; } //Название показателя try { f.symset = e.Element("symset").Value; } catch { f.symset = ""; } clsForm102.Add(f); } catch {} } //------------------------------------------------------------------------ //Собираем отчетность по 102 форме для всех КО //Сбрасываем в файл отчетность КО 102 формы writer = new StreamWriter("cls_CreditOrgsInfo_form102.csv", false, Encoding.Default); foreach (Form102 e in clsForm102) { try { Console.WriteLine("Грузим данные по 102 форме..."); XDocument Data102Full = null; while (Data102Full == null) { try { Data102Full = XDocument.Parse(ws.Data102FormExXML(CredOrgNumbers, Convert.ToInt32(e.symbol), DateTime.Parse("02.10.2017"), DateTime.Now).OuterXml); } catch { Console.WriteLine("Trying connection..."); } } foreach (XElement d in Data102Full.Root.Elements("FD")) { Form102 f = new Form102(); try { f.RegNum = d.Element("regnum").Value; } catch { f.RegNum = ""; } //Рег.номер КО try { f.Date = d.Element("DT").Value; } catch { f.Date = ""; } //Дата try { f.value = d.Element("val").Value; } catch { f.value = ""; } //Значение символа - cумма try { f.symid = e.symid; } catch { f.symid = ""; } //внутренний код try { f.symsort = e.symsort; } catch { f.symsort = ""; } //порядок сортировки try { f.symbol = e.symbol; } catch { f.symbol = ""; } //Код показателя try { f.symtype = e.symtype; } catch { f.symtype = ""; } try { f.name = e.name.Trim(); } catch { f.name = ""; } //Название показателя try { f.symset = e.symset; } catch { f.symset = ""; } Console.WriteLine("{0} {1} {2}", "102 форма", f.RegNum, f.symbol); writer.WriteLine(f.symid + ";" + f.symsort + ";" + f.symbol + ";" + f.symtype + ";" + f.name.Trim().Replace(";", ",").Replace("\r", " ").Replace("\n", "") + ";" + f.symset + ";" + f.RegNum + ";" + f.Date + ";" + f.value); writer.Flush(); } } catch {} } writer.Close(); writer.Dispose(); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); }
public model(license type, int hours) { this.type = type; this.hours = hours; }
public static bool hasLicense(this Player player, license lic) { return(player.getLicenses().Find(license => license.type == lic && license.hours > 0) != null ? true : false); }
protected void SaveLicence(license.myLicenseItem lic) { this.saveFileDialog.DefaultExt = "Txt"; this.saveFileDialog.Filter = "Van ban(*.txt)|*.txt"; this.saveFileDialog.CheckPathExists = true; this.saveFileDialog.AddExtension = true; this.saveFileDialog.RestoreDirectory = true; this.saveFileDialog.Title = "Thu muc luu ?"; if (this.saveFileDialog.ShowDialog() != DialogResult.OK) return; common.license.SaveLicence(lic, this.saveFileDialog.FileName); common.sysLibs.ShowMessage("Đã lưu ra tập tin : " + this.saveFileDialog.FileName); }