public bool NegTest4() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("NegTest4: index and count do not denote a valid range in the List"); try { int[] iArray = { 1, 9, 3, 6, 5, 8, 7, 2, 4, 0 }; List <int> listObject = new List <int>(iArray); listObject.Sort(); IntClass intClass = new IntClass(); int i = 7; int result = listObject.BinarySearch(6, 5, i, intClass); TestLibrary.TestFramework.LogError("107", "The ArgumentException was not thrown as expected"); retVal = false; } catch (ArgumentException) { } catch (Exception e) { TestLibrary.TestFramework.LogError("108", "Unexpected exception: " + e); TestLibrary.TestFramework.LogInformation(e.StackTrace); retVal = false; } return(retVal); }
public void simpleButtonLuuPhuongAn_Click(object sender, EventArgs e) { var check = new BooleanAndDoiTuongClass { BoolVar = false }; var count = new IntClass { IntVar = opted }; var taoKeHoachMoi = new QuanLyPhuongAnForm(selected, count, treeView1, imageListChild, check); taoKeHoachMoi.ShowDialog(); if (check.BoolVar) { opted = count.IntVar; selected = check.DoiTuongs; pictureBoxMap.Controls.Clear(); for (var i = 0; i < opted; i++) { selected[i].Picture.Visible = true; selected[i].Picture.Location = DrawHelper.ScaleImage(new Point(selected[i].ThongTinChiTietDoiTuong.ToaDoX, selected[i].ThongTinChiTietDoiTuong.ToaDoY) , new Size(selected[i].ThongTinChiTietDoiTuong.ChieuRongAnh, selected[i].ThongTinChiTietDoiTuong.ChieuDaiAnh), pictureBoxMap); pictureBoxMap.AddControl(selected[i].Picture); MoveButton(selected[i].Picture); deletePic(selected[i].Picture); } } }
public bool NegTest3() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("NegTest3: Count is less than zero"); try { int[] iArray = { 1, 9, 3, 6, 5, 8, 7, 2, 4, 0 }; List <int> listObject = new List <int>(iArray); listObject.Sort(); IntClass intClass = new IntClass(); int i = 7; int result = listObject.BinarySearch(1, -4, i, intClass); TestLibrary.TestFramework.LogError("105", "The ArgumentOutOfRangeException was not thrown as expected"); retVal = false; } catch (ArgumentOutOfRangeException) { } catch (Exception e) { TestLibrary.TestFramework.LogError("106", "Unexpected exception: " + e); TestLibrary.TestFramework.LogInformation(e.StackTrace); retVal = false; } return(retVal); }
public bool PosTest1() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("PosTest1: The generic type is int and using custom IComparer"); try { int[] iArray = { 1, 9, 3, 6, 5, 8, 7, 2, 4, 0 }; List <int> listObject = new List <int>(iArray); listObject.Sort(); IntClass intClass = new IntClass(); int i = this.GetInt32(0, 10); int result = listObject.BinarySearch(i, intClass); if (result != i) { TestLibrary.TestFramework.LogError("001", "The result is not the value as expected,The result is: " + result); retVal = false; } } catch (Exception e) { TestLibrary.TestFramework.LogError("002", "Unexpected exception: " + e); retVal = false; } return(retVal); }
public override int GetOrdinal(FacetLabel cp) { EnsureOpen(); if (cp.Length == 0) { return(ROOT_ORDINAL); } // First try to find the answer in the LRU cache: // LUCENENET: Lock was removed here because the underlying cache is thread-safe, // and removing the lock seems to make the performance better. IntClass res = ordinalCache.Get(cp); if (res != null && res.IntItem != null) { if ((int)res.IntItem.Value < indexReader.MaxDoc) { // Since the cache is shared with DTR instances allocated from // doOpenIfChanged, we need to ensure that the ordinal is one that // this DTR instance recognizes. return((int)res.IntItem.Value); } else { // if we get here, it means that the category was found in the cache, // but is not recognized by this TR instance. Therefore there's no // need to continue search for the path on disk, because we won't find // it there too. return(TaxonomyReader.INVALID_ORDINAL); } } // If we're still here, we have a cache miss. We need to fetch the // value from disk, and then also put it in the cache: int ret = TaxonomyReader.INVALID_ORDINAL; DocsEnum docs = MultiFields.GetTermDocsEnum(indexReader, null, Consts.FULL, new BytesRef(FacetsConfig.PathToString(cp.Components, cp.Length)), 0); if (docs != null && docs.NextDoc() != DocIdSetIterator.NO_MORE_DOCS) { ret = docs.DocID(); // we only store the fact that a category exists, not its inexistence. // This is required because the caches are shared with new DTR instances // that are allocated from doOpenIfChanged. Therefore, if we only store // information about found categories, we cannot accidently tell a new // generation of DTR that a category does not exist. // LUCENENET: Lock was removed here because the underlying cache is thread-safe, // and removing the lock seems to make the performance better. ordinalCache.Put(cp, new IntClass { IntItem = Convert.ToInt32(ret) }); } return(ret); }
private static int SumResult(IntClass result) => result.MyProperty1 + result.MyProperty2 + result.MyProperty3 + result.MyProperty4 + result.MyProperty5 + result.MyProperty6 + result.MyProperty7 + result.MyProperty8 + result.MyProperty9;
static void Main(string[] args) { IntClass c1 = new IntClass(); c1.MyMethod(12); BaseClass <string> c2 = new BaseClass <string>(); c2.MyMethod("hello world"); }
public static string IsSingleDigit(IntClass value) { if (value < new IntClass(10)) { return("Yes!"); } return("No!"); }
private void Form1_Load(object sender, EventArgs e) { //1、2. 可重用性、安全性 <T> IntClass itemA = new IntClass(); itemA.items.Add(10); itemA.items.Add(20); StringClass itemB = new StringClass(); itemB.items.Add("10"); itemB.items.Add("20"); //使用泛型可以節省代碼,並且明確知道型別 GenericClass <int> itemT_A = new GenericClass <int>(); itemT_A.items.Add(10); GenericClass <string> itemT_B = new GenericClass <string>(); itemT_B.items.Add("10"); //3. 高效率 //100萬筆資料 泛型只需 1.2 秒左右 ,Object 雖然也可以接資料,但最後要轉型為指定的型別(封裝、解封裝)耗費時間較多 // Object 花費約7.6 秒,效率差了6倍 Stopwatch sw = new Stopwatch(); sw.Start(); GenericClass <int> itemT_C = new GenericClass <int>(); for (int i = 0; i < 100000000; i++) { itemT_C.items.Add(i); } foreach (var item in itemT_C.items) { var temp = item; } sw.Stop(); textBox1.Text += $@"泛型花費時間(毫秒) : {sw.Elapsed.TotalSeconds}" + "\r\n"; sw.Restart(); ObjectClass itemO_C = new ObjectClass(); for (int i = 0; i < 100000000; i++) { itemO_C.items.Add(i); } foreach (var item in itemO_C.items) { var temp = (int)item; } sw.Stop(); textBox1.Text += $@"Object 花費時間(毫秒) : {sw.Elapsed.TotalSeconds} " + "\r\n"; }
public void NegTest4() { int[] iArray = { 1, 9, 3, 6, 5, 8, 7, 2, 4, 0 }; TreeList <int> listObject = new TreeList <int>(iArray); listObject.Sort(); IntClass intClass = new IntClass(); int i = 7; Assert.Throws <ArgumentException>(() => listObject.BinarySearch(6, 5, i, intClass)); }
public int HagarHandCrafted() { Session.FullReset(); var reader = Reader.Create(HagarInput, Session); var instance = IntClass.Create(); _ = reader.ReadFieldHeader(); Generated.DeserializeNew(ref reader, instance); //var instance = HagarSerializer.Deserialize(ref reader); return(SumResult(instance)); }
public void PosTest1() { int[] iArray = { 1, 9, 3, 6, 5, 8, 7, 2, 4, 0 }; TreeList <int> listObject = new TreeList <int>(iArray); listObject.Sort(); IntClass intClass = new IntClass(); int i = Generator.GetInt32(0, 10); Assert.Equal(i, listObject.BinarySearch(i, intClass)); }
public QuanLyPhuongAnForm(List <DoiTuong> doiTuong, IntClass count, TreeView treeView, ImageList imageList, BooleanAndDoiTuongClass isChange) { this.isChange = isChange; this.isChange.DoiTuongs = doiTuong; this.Count = count; this.ImageList = imageList; this.TreeView = treeView; this.isChange = isChange; InitializeComponent(); LoadKeHoach(); LoadKeHoachDeTail(); InitComBoBoxFile(); InitComBoBoxBanDo(); }
public async Task MorePocos() { var val = new IntClass { DateTime = DateTime.UtcNow, FirstInt = 1 }; var r = new Random(); var rands = Enumerable.Range(1, 1000001).Select(o => r.Next(1, 10)).ToArray(); await Task.WhenAll(Enumerable.Range(1, 7000000).Select(o => { var arr = Store.Get <IRedisArray <IntClass> >($"ic-a{o}"); return(arr.SetAsync(Enumerable.Repeat(val, 1).ToArray())); })); }
public async Task TestALotOfPoco() { var val = new IntClass { DateTime = DateTime.UtcNow.Date, FirstInt = 1, }; var arr = Store.Get <IRedisArray <IntClass> >("an-intclass-array"); var sw = Stopwatch.StartNew(); var tasks = Enumerable.Range(0, 2).Select(o => arr.SetAsync(o, val)); await Task.WhenAll(tasks); Console.WriteLine(sw.Elapsed); }
public void TestPoco() { var arr = Store.Get <IRedisArray <IntClass> >("an-intclass-array"); var val = new IntClass { FirstInt = 1, DateTime = DateTime.UtcNow, }; arr.Set(0, val); arr.Set(1, val); var result = arr.Get(0, 1); Assert.AreEqual(val.FirstInt, result.First().FirstInt); Assert.AreEqual(val.DateTime, result.First().DateTime); }
static DeserializeBenchmark() { ProtoInput = new MemoryStream(); ProtoBuf.Serializer.Serialize(ProtoInput, IntClass.Create()); HyperionInput = new MemoryStream(); HyperionSerializer.Serialize(IntClass.Create(), HyperionInput); // Hagar var services = new ServiceCollection() .AddHagar(hagar => hagar.AddAssembly(typeof(Program).Assembly)) .BuildServiceProvider(); HagarSerializer = services.GetRequiredService <Serializer <IntClass> >(); var bytes = new byte[1000]; Session = services.GetRequiredService <SessionPool>().GetSession(); var writer = new SingleSegmentBuffer(bytes).CreateWriter(Session); HagarSerializer.Serialize(ref writer, IntClass.Create()); HagarInput = bytes; // Orleans OrleansSerializer = new ClientBuilder() .ConfigureDefaults() .UseLocalhostClustering() .ConfigureServices(s => s.ToList().ForEach(r => { if (r.ServiceType == typeof(IConfigurationValidator)) { s.Remove(r); } })) .Configure <ClusterOptions>(o => o.ClusterId = o.ServiceId = "test") .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(SimpleClass).Assembly).WithCodeGeneration()) .Configure <SerializationProviderOptions>(options => options.FallbackSerializationProvider = typeof(SupportsNothingSerializer).GetTypeInfo()) .Build().ServiceProvider.GetRequiredService <SerializationManager>(); var writer2 = new BinaryTokenStreamWriter(); OrleansSerializer.Serialize(IntClass.Create(), writer2); OrleansInput = writer2.ToBytes(); OrleansBuffer = new BinaryTokenStreamReader(OrleansInput); }
static ClassDeserializeBenchmark() { ProtoInput = new MemoryStream(); ProtoBuf.Serializer.Serialize(ProtoInput, IntClass.Create()); HyperionInput = new MemoryStream(); HyperionSession = HyperionSerializer.GetDeserializerSession(); HyperionSerializer.Serialize(IntClass.Create(), HyperionInput); // Hagar var services = new ServiceCollection() .AddHagar(hagar => hagar.AddAssembly(typeof(Program).Assembly)) .BuildServiceProvider(); HagarSerializer = services.GetRequiredService <Serializer <IntClass> >(); var bytes = new byte[1000]; Session = services.GetRequiredService <SerializerSessionPool>().GetSession(); var writer = new SingleSegmentBuffer(bytes).CreateWriter(Session); //HagarSerializer.Serialize(ref writer, IntClass.Create()); writer.WriteStartObject(0, typeof(IntClass), typeof(IntClass)); Generated.Serialize(ref writer, IntClass.Create()); writer.WriteEndObject(); HagarInput = bytes; Utf8JsonInput = Utf8JsonNS.JsonSerializer.Serialize(IntClass.Create(), Utf8JsonResolver); var stream = new MemoryStream(); using (var jsonWriter = new System.Text.Json.Utf8JsonWriter(stream)) { System.Text.Json.JsonSerializer.Serialize <IntClass>(jsonWriter, IntClass.Create()); } SystemTextJsonInput = stream.ToArray(); }
public OxymoronData(Token[] pair, IntClass overlap, bool greedy, bool debug) : this(pair, overlap, greedy) { Debug = debug; }
public OxymoronData(Token[] pair, IntClass overlap, bool greedy) : this(pair, overlap) { Greedy = greedy; }
public OxymoronData(Token[] pair, IntClass overlap) : this(pair) { Overlap = overlap; }
private bool Equals(IntClass other) => other != null && Value == other.Value;
public Expression(string txt, string block, Statement statement) { txt = txt.Trim(); Txt = txt; Block = block; Statement = statement; CallFunctionReturn = null; AwaitReturn = false; Lib = Statement.Lib; var binaryOperators = _tokens[0] .OrderByDescending(x => x.Length) .ToArray(); var unitaryOperators = _tokens[1] .OrderByDescending(x => x.Length) .ToArray(); if (int.TryParse(txt, out _)) { Type = EType.Int; var p = txt; Exec = () => { var value = p.GetInt(); var i = new IntClass(value); return(i); }; return; } if (GetStr(txt, out var qtxt)) { if (qtxt.Length == txt.Length - 2) { Type = EType.Str; Exec = () => { var value = qtxt.GetStr(); var s = new StrClass(value); return(s); }; return; } } if (bool.TryParse(txt, out var valueBool)) { Type = EType.Bool; Exec = () => { var value = new BoolClass(valueBool); return(value); }; return; } if (txt.StartsWith("new")) { var ident = txt.Substring(3); if (GetStr(ident, out var brackets, '(', ')')) { CustomClass customClass = null; var i = ident.IndexOf("(" + brackets + ")", StringComparison.Ordinal); var identWb = ident.Remove(i, brackets.Length + 2).Trim(); var parametersExpresions = new List <Expression>(); if (!string.IsNullOrWhiteSpace(brackets)) { var parametersTxt = brackets.Split(','); foreach (var parantese in parametersTxt) { var paranteseTrim = parantese.Trim(); var expresion = new Expression(paranteseTrim, Block, Statement); parametersExpresions.Add(expresion); } } Exec = () => { if (!AwaitReturn) { var parametersValue = parametersExpresions.Select(x => x.GetValue()).ToList(); customClass = Memory.GetClass(identWb, Block).Clone(); customClass.Assign(parametersValue); AwaitReturn = true; return(new Return(null, Flag.Function)); } else { AwaitReturn = false; return((IClass)customClass); } }; } return; } var l = txt.First() == '('; var f = txt.Last() == ')'; if (l && f) { txt = txt.Substring(1, txt.Length - 2); Type = EType.Par; var exp = new Expression(txt, Block, Statement); Exec = exp.Exec; return; } foreach (var @operator in unitaryOperators) { if (txt.StartsWith(@operator)) { Type = EType.None; var len = @operator.Length; var exprTxt = txt.Substring(len, txt.Length - len); var expr = new Expression(exprTxt, Block, Statement); if (@operator == "-") { Exec = () => { var value = expr.GetValue(); if (value is int i) { value = -i; } if (value is string s) { if (s[0] == '-') { value = s.Substring(1, s.Length - 1); } else { value = "-" + s; } } if (expr.Type == EType.Ind) { var variable = expr.Exec().ToString(); var variable1 = Memory.GetVariable(variable, Block); if (value is string ss) { variable1.SetValue(ss); } if (value is int ii) { variable1.SetValue(ii); } } return(value); }; return; } if (@operator == "!") { Exec = () => { var value = expr.GetValue(); if (value is int i) { value = i ^ int.MaxValue; } if (value is string s) { if (char.IsLower(s, 0)) { value = s.ToUpper(); } else { value = s.ToLower(); } } if (expr.Type == EType.Ind) { var variable = expr.Exec().ToString(); var variable1 = Memory.GetVariable(variable, Block); if (value is string ss) { variable1.SetValue(ss); } if (value is int ii) { variable1.SetValue(ii); } } return(value); }; return; } if (@operator == "++") { Exec = () => { var value = expr.GetValue(); if (value is int i) { value = i + 1; } if (value is string s) { value = s.ToUpper(); } if (expr.Type == EType.Ind) { var variable = expr.Exec().ToString(); var variable1 = Memory.GetVariable(variable, Block); if (value is string ss) { variable1.SetValue(ss); } if (value is int ii) { variable1.SetValue(ii); } } return(value); }; return; } if (@operator == "--") { Exec = () => { var value = expr.GetValue(); if (value is int i) { value = i - 1; } if (value is string s) { value = s.ToLower(); } if (expr.Type == EType.Ind) { var variable = expr.Exec().ToString(); var variable1 = Memory.GetVariable(variable, Block); if (value is string ss) { variable1.SetValue(ss); } if (value is int ii) { variable1.SetValue(ii); } } return(value); }; return; } return; } else if (txt.EndsWith(@operator)) { Type = EType.None; var len = @operator.Length; var exprTxt = txt.Substring(0, txt.Length - len); var expr = new Expression(exprTxt, Block, Statement); if (@operator == "++") { Exec = () => { var value = expr.GetValue(); if (value is int i) { value = i + 1; } if (value is string s) { value = s.ToUpper(); } if (expr.Type == EType.Ind) { var variable = expr.Exec().ToString(); var variable1 = Memory.GetVariable(variable, Block); if (value is string ss) { variable1.SetValue(ss); } if (value is int ii) { variable1.SetValue(ii); } } return(value); }; return; } if (@operator == "--") { Exec = () => { var value = expr.GetValue(); if (value is int i) { value = i - 1; } if (value is string s) { value = s.ToLower(); } if (expr.Type == EType.Ind) { var variable = expr.Exec().ToString(); var variable1 = Memory.GetVariable(variable, Block); if (value is string ss) { variable1.SetValue(ss); } if (value is int ii) { variable1.SetValue(ii); } } return(value); }; return; } } } var ops = new List <(int i, int l, string o)>(); foreach (var @operator in binaryOperators) { for (int i = txt.IndexOf(@operator, StringComparison.Ordinal); i > -1; i = txt.IndexOf(@operator, i + 1, StringComparison.Ordinal)) { var toAdd = (i, @operator.Length, @operator); var add = true; foreach (var op in ops) { var overlap = toAdd.i < op.i + op.l && op.i < toAdd.i + toAdd.Length; if (overlap) { add = false; break; } } if (add) { ops.Add(toAdd); } } } ops = ops.OrderBy(x => { if (priority.Contains(x.o)) { return(0); } else { return(x.i); } }).ToList(); var exprsStr = txt.Split(binaryOperators, 2, StringSplitOptions.None); if (exprsStr.Length > 1) { var op = txt.Substring(ops[0].i, ops[0].l); var p = txt.IndexOf('('); if (p > ops[0].i || p == -1) { var exps1 = txt.Substring(0, ops[0].i); var exps2 = txt.Substring(ops[0].i + 1 + ops[0].l); var exp1 = new Expression(exps1, Block, Statement); var exp2 = new Expression(exps2, Block, Statement); Type = EType.Asg; SetOperation(op, exp1, exp2); return; } } if (GetStr(Txt, out var paranteses, '(', ')')) { Type = EType.Func; var indexOfParant = Txt.IndexOf('(' + paranteses + ')', StringComparison.Ordinal); var function = Txt.Substring(0, indexOfParant).Trim(); var parametersExpresions = new List <Expression>(); if (!string.IsNullOrWhiteSpace(paranteses)) { parametersExpresions = paranteses.Split(',') .Select(x => new Expression(x.Trim(), Block, Statement)) .ToList(); } if (function.Contains(".")) { var classAccess = function; var exprClassAccess = new Expression(classAccess, block, Statement); Exec = () => { if (!AwaitReturn) { var value = exprClassAccess.GetValue(); if (value is Function func) { var parameters = parametersExpresions.Select(x => x.GetValue()).ToList(); Lib.AccessNewFunction(func, parameters); AwaitReturn = true; } else if (value is Variable variable) { if (variable.Type == typeof(Function)) { var func2 = (Function)variable.GetValue(); var parameters = parametersExpresions.Select(x => x.GetValue()).ToList(); Lib.AccessNewFunction(func2, parameters); AwaitReturn = true; } } return(null); } else { CallFunctionReturn = Lib.GetReturn(); AwaitReturn = false; if (CallFunctionReturn is null) { return(new Return()); } else if (CallFunctionReturn is Return r) { return(r.Value); } else { return(CallFunctionReturn); } } }; return; } else { Exec = () => { if (!AwaitReturn) { AwaitReturn = true; var parameters = parametersExpresions.Select(x => x.GetValue()).ToList(); Lib.AccessNewFunction(function, parameters); return(new Return(null, Flag.Function)); } else { CallFunctionReturn = Lib.GetReturn(); AwaitReturn = false; if (CallFunctionReturn is null) { return(new Return()); } else if (CallFunctionReturn is Return r) { return(r.Value); } else { return(CallFunctionReturn); } } }; } return; } if (Txt.Contains(".")) { Type = EType.Cls; var dotIndex = Txt.LastIndexOf('.'); var split = Txt.SplitAtIndex(dotIndex); var second = split[1].Substring(1); var exprTxt = split[0]; var expr = new Expression(exprTxt, block, Statement); Exec = () => { var value = expr.GetValue(); if (value is IClass @class) { return(@class.Get(second)); } return(null); }; return; } Type = EType.Ind; Exec = () => GetIdentifier(txt); }
public static string IsSingleDigit(IntClass value) { if (value < new IntClass(10)) { return "Yes!"; } return "No!"; }
public void LoadBuiltinClasses() { classes["Int"] = new IntClass(); classes["Float"] = new FloatClass(); classes["Boolean"] = new BooleanClass(); classes["String"] = new StringClass(); classes["Char"] = new CharClass(); classes["Byte"] = new ByteClass(); classes["Message"] = new MessageClass(); classes["Unassigned"] = new UnassignedClass(); classes["Tuple"] = new TupleClass(); classes["NameValue"] = new NameValueClass(); classes["Lambda"] = new LambdaClass(); classes["Void"] = new VoidClass(); classes["Some"] = new SomeClass(); classes["None"] = new NoneClass(); classes["Array"] = new ArrayClass(); classes["Iterator"] = new IteratorClass(); classes["LazyIterator"] = new LazyIteratorClass(); classes["StreamIterator"] = new StreamIteratorClass(); classes["Any"] = new AnyClass(); classes["Placeholder"] = new PlaceholderClass(); classes["Range"] = new RangeClass(); classes["Dictionary"] = new DictionaryClass(); classes["Container"] = new ContainerClass(); classes["Unmatched"] = new UnmatchedClass(); classes["Complex"] = new ComplexClass(); classes["Rational"] = new RationalClass(); classes["Long"] = new LongClass(); classes["Lazy"] = new LazyClass(); classes["YieldingInvokable"] = new YieldingInvokableClass(); classes["Del"] = new DelClass(); classes["Slice"] = new SliceClass(); classes["End"] = new EndClass(); classes["List"] = new ListClass(); classes["Arguments"] = new ArgumentsClass(); classes["Symbol"] = new SymbolClass(); classes["Infinity"] = new InfinityClass(); classes["OpenRange"] = new OpenRangeClass(); classes["KeyValue"] = new KeyValueClass(); classes["Regex"] = new RegexClass(); classes["Pattern"] = new PatternClass(); classes["PackageFunction"] = new PackageFunctionClass(); classes["Sys"] = new SysClass(); classes["Math"] = new MathClass(); classes["RuntimeFunction"] = new RuntimeFunctionClass(); classes["Reference"] = new ReferenceClass(); classes["Group"] = new RegexGroupClass(); classes["Match"] = new RegexMatchClass(); classes["Date"] = new DateClass(); classes["Interval"] = new IntervalClass(); classes["TypeConstraint"] = new TypeConstraintClass(); classes["ByteArray"] = new ByteArrayClass(); classes["Selector"] = new SelectorClass(); classes["Number"] = new NumberClass(); classes["Collection"] = new CollectionClass(); classes["TextFinding"] = new TextFindingClass(); classes["SkipTake"] = new SkipTakeClass(); classes["Constructor"] = new ConstructorClass(); classes["MutString"] = new MutStringClass(); classes["Error"] = new ErrorClass(); classes["Success"] = new SuccessClass(); classes["Failure"] = new FailureClass(); classes["Optional"] = new OptionalClass(); classes["Result"] = new ResultClass(); classes["Monad"] = new MonadClass(); classes["Unit"] = new UnitClass(); classes["YieldReturn"] = new YieldReturnClass(); classes["Index"] = new IndexClass(); classes["Cycle"] = new CycleClass(); classes["Set"] = new SetClass(); }
//public List<ThongTinChiTietDoiTuong> LayCacThongTinDoiTuongTuKeHoach(int MaKeHoach) //{ // List<ThongTinChiTietDoiTuong> doiTuongs = new List<ThongTinChiTietDoiTuong>(); // Connection.Open(); // SqlCommand command = new SqlCommand("LayDoiTuongTuKeHoach", Connection); // command.CommandType = CommandType.StoredProcedure; // command.Parameters.AddWithValue("@maKeHoach", MaKeHoach); // using (SqlDataAdapter adapter = new SqlDataAdapter(command)) // { // DataTable table = new DataTable(); // adapter.Fill(table); // foreach (DataRow doiTuong in table.Rows) // { // doiTuongs.Add(new ThongTinChiTietDoiTuong() // { // MaKeHoach = doiTuong.Field<int>((int)DoiTuong.MaKeHoach), // MoTa = doiTuong.Field<string>((int)DoiTuong.MoTa), // MaDonVi = doiTuong.Field<string>((int)DoiTuong.MaDonVi), // ToaDoX = doiTuong.Field<int>((int)DoiTuong.ToaDoX), // ToaDoY = doiTuong.Field<int>((int)DoiTuong.ToaDoY), // ChieuDaiAnh = doiTuong.Field<int>((int)DoiTuong.ChieuDaiAnh), // ChieuRongAnh = doiTuong.Field<int>((int)DoiTuong.ChieuRongAnh) // }); // } // } // Connection.Close(); // return doiTuongs; //} public List <Models.DoiTuong> LayCacDoiTuongTuKeHoach(int MaKeHoach, TreeView treeView, ImageList imageList, IntClass count) { List <Models.DoiTuong> doiTuongs = new List <Models.DoiTuong>(); Connection.Open(); SqlCommand command = new SqlCommand("LayDoiTuongTuKeHoach", Connection); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddWithValue("@maKeHoach", MaKeHoach); using (SqlDataAdapter adapter = new SqlDataAdapter(command)) { DataTable table = new DataTable(); adapter.Fill(table); count.IntVar = table.Rows.Count; foreach (DataRow doiTuong in table.Rows) { int maDoiTuong = doiTuong.Field <int>((int)DoiTuong.MaDoiTuong); int maKeHoach = doiTuong.Field <int>((int)DoiTuong.MaKeHoach); string moTa = doiTuong.Field <string>((int)DoiTuong.MoTa); string maDonVi = doiTuong.Field <string>((int)DoiTuong.MaDonVi); int toaDoX = doiTuong.Field <int>((int)DoiTuong.ToaDoX); int toaDoY = doiTuong.Field <int>((int)DoiTuong.ToaDoY); int chieuDaiAnh = doiTuong.Field <int>((int)DoiTuong.ChieuDaiAnh); int chieuRongAnh = doiTuong.Field <int>((int)DoiTuong.ChieuRongAnh); string tenDoiTuong = doiTuong.Field <string>((int)DoiTuong.TenDoiTuong); int chieuNgang = doiTuong.Field <int>((int)DoiTuong.ChieuNgang); int chieuDoc = doiTuong.Field <int>((int)DoiTuong.ChieuDoc); Models.DoiTuong anh = new Models.DoiTuong() { ThongTinChiTietDoiTuong = new ThongTinChiTietDoiTuong() { MaDoiTuong = maDoiTuong, ChieuDaiAnh = chieuDaiAnh, ChieuRongAnh = chieuRongAnh, ToaDoX = toaDoX, ToaDoY = toaDoY, MaDonVi = maDonVi, MaKeHoach = maKeHoach, MoTa = moTa, ChieuDoc = chieuDoc, ChieuNgang = chieuNgang, TenDoiTuong = tenDoiTuong } }; anh.InitImage = imageList.Images[maDonVi]; // Thiết lập chiều ngang và chiều dọc của đối tượng // Thiết lập ảnh cho đối tượng anh.Picture.Image = new Bitmap(anh.InitImage, anh.ThongTinChiTietDoiTuong.ChieuNgang, anh.ThongTinChiTietDoiTuong.ChieuDoc); doiTuongs.Add(anh); } } Connection.Close(); return(doiTuongs); }