Canto c #


Site de Compras Online no ASP - Open Source Project


Neste projeto estou mostrando um site de carrinho de compras. Esta aplicação web ASP é o resultado do meu projeto de treinamento industrial de 6 meses. Eu não sou um desenvolvedor profissional. Eu sou um desenvolvedor de nível iniciante. Eu desenvolvi isso só porque eu tenho tanto amor e paixão pelo desenvolvimento web. Estou inicialmente mostrando apenas três categorias de produtos neste site; Eles são móveis, laptop e carro. Para que o usuário use este site eles devem ter uma conta; Para que uma página de registro foi fornecida. O site tem 2 visualizações, 1 para o usuário e uma para administração. O administrador tem direitos especiais, como ele pode adicionar produtos e excluir produtos. O fluxo da aplicação é como este; O usuário é apresentado com um produto; Se o produto é de interesse para o usuário, então o usuário deve clicar no detalhe; Depois de clicar no detalhe o usuário tem todos os detalhes do produto e ele tem duas opções, uma para comprar diretamente o produto e outra para adicionar o produto ao carrinho para checkout futuro.


Eu fiz este projeto em 4.0 e usando SQL Server 2008 R2 para o banco de dados O arquivo de banco de dados está presente na pasta app_code. Para executar este projeto, basta anexar o arquivo shopping. mdf a um servidor de banco de dados e alterar a seqüência de conexão para o arquivo Web. config.


Página de login:


Home page:


Página de detalhes:


Página do carrinho:


Página de registro:


Stock Paper Trader em C # e


Acredite ou não, a inspiração para este artigo veio a mim no outro dia enquanto assistia a um infomercial tarde da noite. O infomercial estava vendendo um pacote para ensinar as pessoas como negociar ações, alegando que você poderia aprender a negociar ações sem qualquer método money. This é mais conhecido como papel comercial. Como o infomercial apontou, permitindo que você coloque negócios imaginário em dados reais. Eu pensei que isso seria bastante fácil de duplicar tendo já escrito um programa de captura de ações em Excel. Agora você demasiado pode transformar-se um comerciante conservado em estoque e não perder sua camisa!


O comerciante de papel começa-o fora com a soma desprezível de 1.000.000 dólares (afinal, no mundo virtual, qualquer um pode ser um milionário). Usando esse dinheiro, você pode começar a colocar comércios e ver o seu dinheiro crescer (ou encolher como na figura 1). O programa permitirá que você coloque um comércio em qualquer um dos estoques listados. Igualmente trilharão seu capital de funcionamento, seu dinheiro, e subtraem a comissão do corretor de seus lucros. Você não pode vender curto, assim que este tipo do programa o força em um Estado de otimismo.


Figura 1 - Stock Paper Trader em Ação


Trader de papel UML Design


O programa Paper Trade consiste em 4 classes: o formulário principal, um diálogo comercial, um objeto de portfólio e um objeto comercial. Abaixo está o desenho completo da UML desenhado em WithClass.


Figura 2 - Diagrama UML Reverse Engineered de C # em WithClass


Como você pode ver na figura 2, o portfólio consiste em uma coleção de negócios. O programa mantém todas as informações do comércio na coleção Trades do objeto Portfolio. O objeto Portfolio é serializável e tem duas funções de leitura e gravação que permitem que você persista seus negócios em um arquivo. As funções Ler e Gravar são mostradas abaixo na listagem 1 e aproveitar o objeto BinaryFormatter para serializar e desserializar os dados. Observe que nessas funções, não serializar a classe inteira, mas em vez disso, serializar os membros individuais. Aparentemente, quando eu tentei serializar toda a classe, a coleção ArrayList de Trades não é serializada. No entanto, quando eu serialize o ArrayList separadamente, os comércios são escritos.


Listagem 1 - Métodos de leitura e gravação da classe Portfolio para a persistência das informações comerciais


Public void Escrever ()


// constrói o formatador binário para escrever os membros da classe


BinaryFormatter bf = novo BinaryFormatter ();


FileStream fs = novo FileStream (sStorage, FileMode. Create, FileAccess. Write);


// escrever a coleção de negócios no ArrayList


Bf. Serialize (fs, Trades);


// escrever o total de caixa


// verifica se há um arquivo para ler


FileStream fs = novo FileStream (sStorage, FileMode. Open, FileAccess. Read);


// leu os negócios no ArrayList


P. Trades = (ArrayList) bf. Deserialize (fs);


GUI no formulário


O ListView no formulário principal (Form1) é usado para exibir todos os dados de estoque do usuário. Estes dados são atualizados por um temporizador a cada 10 segundos. O manipulador de eventos do timer chama o método FillListViewWithTrades no formulário. Esse método passa por cada negociação no portfólio e o grava no ListView (consulte a Listagem 2 abaixo):


Listagem 3 - Adicionando uma linha de informações comerciais à exibição de lista


Private void AddATradeToView (Comércio t)


// obter uma cotação do site de negociação


Float currentPrice = GetQuote (t. Symbol);


// adiciona o comércio como uma linha à vista de lista


ListViewItem lvi = listView1.Items. Add (t. Symbol);


// permitir que os subitens assumam suas próprias propriedades


// Adicionar cada propriedade comercial e direito justificar os preços e os montantes de partes


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));


Float profit = CalculateProfit (currentPrice, t);


// se o lucro for maior que zero, exibir lucro em verde, caso contrário, exibir em vermelho


If (profit & 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;


A caixa de diálogo Comprar / Vender


Figura 3 - Caixa de diálogo Comprar Vender


Esta caixa de diálogo permite-lhe introduzir uma transacção de compra ou venda num determinado stock. Pressionando o botão Executar irá comprar ou vender um estoque, dependendo de qual opção comercial for selecionada. A rotina do manipulador de eventos do botão de execução é mostrada abaixo na listagem 4. Esse método simplesmente forma um objeto comercial com as informações inseridas no formulário Comprar / Permite que o objeto de carteira singleton manipular os cálculos reais sobre o comércio.


Listagem 4 - Execute Button Event Handler para criar e manipular um novo comércio


Private void ExecuteButton_Click (remetente do objeto, System. EventArgs e)


If (SellRadio. Checked)


// se a venda for verificada, crie um comércio de venda e manipule o cálculo de venda no formulário principal


Comércio t = novo Comércio (TradeAction. Sell, txtSymbol. Text, Convert. ToInt32 (txtShares. Text), Form1.GetQuote (txtSymbol. Text), Convert. ToSingle (txtCommission. Text), 0);


Form1.MyPortfolio. HandleSell (t);


// se comprado verificado, criar um comércio de venda e lidar com o cálculo de venda no formulário principal


Comércio t = novo Comércio (TradeAction. Buy, txtSymbol. Text, Convert. ToInt32 (txtShares. Text), Form1.GetQuote (txtSymbol. Text), Convert. ToSingle (txtCommission. Text), 0);


Form1.MyPortfolio. HandleBuy (t);


Cotações de ações em tempo real no Excel usando


Eu posso parecer um pouco Bullish, mas eu era capaz de criar este aplicativo bastante rapidamente em C # graças à biblioteca rica e facilidade de conexão com aplicativos COM como o Excel. Aqueles de vocês que são programadores Visual C ++ será muito aliviado que é finalmente tão fácil como usar Visual Basic para conversar com as interfaces COM de aplicativos e controles ActiveX em C #. Este artigo é baseado no código e artigo escrito por Dipal Choksi. Você pode querer consultar este artigo para ver como as cotações de ações são capturadas da web. Eu adicionei a porta das cotações para o Excel, bem como um temporizador que recupera as aspas a cada 10 segundos. Você pode alterar esse intervalo para o tempo desejado, alterando a propriedade Interval no timer1.


Abaixo está o código que inicializa o objeto de aplicativo do Excel para que você possa usá-lo como qualquer outra classe:


Primeiro eu tive que importar a biblioteca do Excel. Isso pode ser feito adicionando uma referência ou adicionando a declaração abaixo:


Usando Excel;


Em seguida, adicionei o código para instanciar um objeto Aplicativo do Excel:


Private Excel. Application ExcelObj = new Excel. Application ();


Em seguida, precisamos mostrar o Excel como um objeto visível e adicionar uma pasta de trabalho para preencher:


ExcelObj. Visible = true;


ExcelObj. Workbooks. Add (XlWBATemplate. xlWBATWorksheet);


Agora estamos prontos para usar o Excel para exibir nossas cotações de ações. Cada vez que o evento timer tick é inserido nós imprimimos uma cotação de ações para a planilha (Nota: Alot da codein este método é tirado do artigo por Dipal Choksi.


Private void timer1_Tick (remetente do objeto, System. EventArgs e)


// Recuperar as informações de estoque do site

Comments