C # Corner


Online shopping webwerf in ASP - Open Source Project In hierdie projek Ek wys 'n inkopie mandjie webwerf. Dit ASP web aansoek is die resultaat van my 6 maande industriële opleidingsprojek. Ek is nie 'n professionele ontwikkelaar. Ek is 'n beginner-vlak ontwikkelaar. Ek ontwikkel dit net omdat ek soveel liefde en passie vir die web ontwikkeling. Ek het aanvanklik toon net drie kategorieë van produkte op hierdie webtuiste; hulle selfoon, skootrekenaar en motor. Vir die gebruiker in staat om hierdie webwerf te gebruik, moet hulle 'n rekening het; vir 'n registrasie bladsy is verskaf. Die webwerf het 2 menings, 1 vir die gebruiker en een vir administrasie. Die administrateur het spesiale regte, soos hy produkte kan voeg en produkte verwyder. Die vloei van die aansoek is soos volg; die gebruiker word aangebied met 'n produk; As die produk is van belang is vir die gebruiker dan die gebruiker moet die besonderhede Klik; Nadat u op die detail van die gebruiker het al die besonderhede van die produk en hy het twee opsies, een vir direk aankoop van die produk en 'n ander vir die toevoeging van die produk voor die wa vir toekomstige afhandeling. Ek het hierdie projek in 4.0 en met behulp van SQL Server 2008 R2 vir die databasis Die databasis lêer teenwoordig is in die gids app_code. Vir die bestuur van hierdie projek, net heg die shopping. mdf lêer na 'n databasis bediener en verander die verband string in die lêer Web. config. Aanmelding bladsy: Tuisblad: Detail bladsy: Cart bladsy: Registrasie bladsy: Stock Papier handelaar in C # en Glo dit of nie, die inspirasie vir hierdie artikel tot my gekom en die ander dag terwyl jy 'n infomercial laat in die nag. Die infomercial is verkoop van 'n pakket om mense te leer hoe om aandele te verhandel, beweer dat jy kan leer om aandele te verhandel sonder enige money. This metode is beter bekend as papier handel. as die infomercial daarop gewys, sodat jy denkbeeldige ambagte te plaas op 'n ware data. Ek het gedink dit sou redelik maklik wees om te dupliseer het dit al 'n voorraad vaslegging program in Excel geskryf. Nou te kan jy 'n voorraad handelaar geword en jou hemp verloor nie! Die Paper Trader begin jy af met die skamele bedrag van 1.000.000 dollar (na alles, in die virtuele wêreld, enigiemand kan 'n miljoenêr wees).Using hierdie geld, kan jy begin om ambagte te plaas en kyk hoe jou geld groei (of krimp soos in figuur 1). Die program sal jou toelaat om 'n ambag te plaas op enige van die genoemde stocks. It sal ook hou jou bedryfskapitaal, jou geld, en trek die makelaar kommissie van jou profits. You kan nie kort te verkoop, so hierdie program soort forseer jou in 'n toestand van optimisme. Figuur 1 - Stock Papier handelaar in Aksie Papier Trader UML Design Die Paper Handel program bestaan ​​uit 4 klasse: die belangrikste vorm, 'n dialoog handel, 'n portefeulje voorwerp, en 'n handel voorwerp. Hier is die volledige UML ontwerp getrek in WithClass. Figuur 2 - UML-diagram Reverse Ontwikkel uit C # in WithClass Soos jy kan sien uit figuur 2, die portefeulje bestaan ​​uit 'n versameling van ambagte. Die program hou die al die inligting uit die handel in die ambagte versameling van die Portefeuljekomitee voorwerp. Die Portefeuljekomitee voorwerp is serialiseerbaar, en dit het twee funksies lees en skryf wat u toelaat om jou ambagte volhard in 'n lêer. Die lees en skryf funksies word hieronder getoon in die lys 1, en neem voordeel van die BinaryFormatter voorwerp om die data afleveringen en deserialize. Let daarop dat in hierdie funksies, het ons nie afleveringen die hele klas, maar in plaas daarvan, afleveringen die individuele lede. Blykbaar, wanneer ek probeer om die hele klas afleveringen, die Array List versameling van Trades nie serialized kry. Maar toe ek die Array List afsonderlik afleveringen, die ambagte geskryf. Lys 1 - Lees en skryf metodes van die Portefeuljekomitee klas vir volgehoue ​​die handel inligting public void Skryf () // Bou die binêre formatter vir die skryf van die klaslede BinaryFormatter bf = nuwe BinaryFormatter (); FileStream FS = nuwe FileStream (sStorage, FileMode. Create, FileAccess. Write); // Skryf die versameling van ambagte in die Array List bf. Serialize (FS, Trades); // Skryf die totale kontant // Kyk om te sien of daar 'n lêer te lees FileStream FS = nuwe FileStream (sStorage, FileMode. Open, FileAccess. Read); // Lees die ambagte in die Array List p. Trades = (Array List) bf. Deserialize (VS); GUI in die vorm Die script lys in die belangrikste vorm (Form1) word gebruik om al die gebruikers se voorraad data voor te stel. Hierdie data is bygewerk deur 'n timer elke 10 sekondes. Die event handler van die timer noem die metode FillListViewWithTrades in die vorm. Hierdie metode gaan deur elke handel in die portefeulje en skryf dit op die script lys (sien Listing 2 hieronder): Notering 3 - 'n ry van handel inligting dra by tot die lys vertoon private leemte AddATradeToView (Handel t) // Kry 'n aanhaling uit die handel webwerf dryf currentPrice = GetQuote (t. Symbol); // Die handel te voeg as 'n ry om die lys vertoon ListViewItem LVI = listView1.Items. Add (t. Symbol); // Toelaat dat die subitems op hul eie eienskappe te neem // Voeg elke handel eiendom en regte te regverdig die pryse en hoeveelhede aandeel lvi. SubItems. Add (RightJustify (currentPrice. ToString ( "0.00"), 12)); lvi. SubItems. Add (RightJustify (t. NumberOfShares. ToString ( "0.00"), 12)); lvi. SubItems. Add (RightJustify (CalculateTotal (currentPrice, t).ToString ( "0.00"), 2)); dryf wins = berekenWins (currentPrice, t); // As wins is groter as nul, vertoon wins in 'n groen, anders vertoon in rooi As (wins & gt; = 0) ListViewItem. ListViewSubItem si = lvi. SubItems. Add (RightJustify (profit. ToString ( "0.00"), 12), Color. Green, Color. White, listView1.Font); si. ForeColor = Color. Green; ListViewItem. ListViewSubItem si = lvi. SubItems. Add (RightJustify (profit. ToString ( "0.00"), 12), Color. Red, Color. White, listView1.Font); si. ForeColor = Color. Red; Die koop / verkoop Dialog Figuur 3 - Koop Verkoop Dialog In hierdie dialoog kan jy 'n koop of verkoop handel oor 'n spesifieke voorraad betree. Druk op die uitvoer knoppie sal te koop of te verkoop 'n voorraad, afhangende van wat handel opsie selected. The Voer Button event handler roetine word hieronder in die lys 4. Hierdie metode eenvoudig vorm 'n handel voorwerp met die ingevoerde inligting oor die koop / verkoop vorm en vertoon laat die Singleton portefeulje voorwerp hanteer die werklike berekeninge op die handel. Notering 4 - Voer Button event handler 'n nuwe handelsmerk te skep en te hanteer private leemte ExecuteButton_Click (voorwerp sender, System. EventArgs e) As (SellRadio. Checked) // As verkoop nagegaan, skep 'n verkooptransaksie en hanteer die verkoop berekening in die belangrikste vorm Handel t = nuwe Handel (TradeAction. Sell, txtSymbol. Text, Convert. ToInt32 (txtShares. Text), Form1.GetQuote (txtSymbol. Text), Convert. ToSingle (txtCommission. Text), 0); Form1.MyPortfolio. HandleSell (t); // As nagegaan koop, skep 'n verkooptransaksie en hanteer die verkoop berekening in die belangrikste vorm Handel t = nuwe Handel (TradeAction. Buy, txtSymbol. Text, Convert. ToInt32 (txtShares. Text), Form1.GetQuote (txtSymbol. Text), Convert. ToSingle (txtCommission. Text), 0); Form1.MyPortfolio. HandleBuy (t); Realtime voorraadkwotasies in Excel gebruik van Ek kan 'n bietjie optimisties oor lyk, maar ek was in staat om hierdie aansoek redelik vinnig te skep in C # danke aan die ryk biblioteek en gemak van die verbinding met COM programme soos Excel. Diegene van julle wat Visual C ++ programmeerders sal baie verlig dat dit uiteindelik so maklik soos die gebruik van Visual Basic om die COM interfaces van aansoeke om te praat en ActiveX beheer in C #. Hierdie artikel is gebaseer op die kode en artikel geskryf deur Dipal Choksi. Wil jy dalk om te verwys na hierdie artikel om te sien hoe die voorraadkwotasies is vasgevang in die web. Ek het die hawe van die aanhalings na Excel, asook 'n timer dat die aanhalings elke 10 sekondes gekry bygevoeg. Jy kan hierdie interval om alles keer as jy wil deur die verandering van die interval eiendom in timer1 verander. Hier is die kode wat die Excel Aansoek Object sodat jy dit kan gebruik soos enige ander klas initialisatie: Eers moes ek na die Excel biblioteek in te voer. Dit kan óf gedoen word deur die byvoeging van 'n verwysing of by te voeg onder die stelling: met behulp van Excel; Ek het toe bygevoeg die kode om 'n Excel Aansoek voorwerp instansieer: private Excel. Application ExcelObj = nuwe Excel. Application (); Volgende moet ons Excel wys as 'n sigbare voorwerp en voeg 'n werkboek te vul: ExcelObj. Visible = true; ExcelObj. Workbooks. Add (XlWBATemplate. xlWBATWorksheet); Nou is ons gereed om Excel te gebruik om ons voorraadkwotasies wys. Elke keer as die timer bosluis geval ingeskryf druk ons ​​uit 'n voorraad kwotasie aan die sigblad (Nota: Baie van die codein hierdie metode is geneem uit die artikel deur Dipal Choksi. private leemte timer1_Tick (voorwerp sender, System. EventArgs e) // Haal die voorraad inligting van die webwerf

Comments