Skip to content

urvijaykumar/StockPortfolio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StockPortfolio

Stock Portfolio е наменета за корисници на интернационална берза. Програмата им помага на корисниците да добијат информации за акциите на големите компании, како и калкулатор за тоа колку заработил или загубил корисникот. Исто така ги прикажува најновите вести за познатите светски компании и може да се пребараат дополнителни информации за една одредена компанја по избор на корисникот.

Во оваа програма се чуваат имињата на компаниите, нивните раководители, симболот на компанијата, секторот на компанијата, линк до нивната главна страна, главниот пазар на кој се продаваат и дневните цени на нивните акции.

ОПИС НА ФУНКЦИЈА:

public static async Task<Dictionary<string, BatchQuoteDto>> GetBatchQuoteData(string[] symbolsArray) 
{
    var symbols = string.Join(",", symbolsArray.Select(item => item));
    var API_PATH = $"https://api.iextrading.com/1.0/stock/market/batch?symbols={symbols}&types=quote";
    API api = new API();

    try 
    {
        var response = await api.CallAPI(API_PATH);

        if (response.IsSuccessStatusCode) 
        {
            var json = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
            var data = BatchQuoteDto.FromJson(json);
            return data;
        }
        return null;
    }
    catch (System.Net.WebException ex) 
    {
        throw ex;
    }
}

Погоре е прикажана една од повеќе едноставни функции кои ги користиме за превземање на податоци од апито. Оваа функција како аргумент прима низа од стрингови, потоа таа низа се трансформира во стринг така што сите елементи се прилепуваат еден со друг и се одвојуваат со запирка.

Ова е потребно бидејќи овој стринг подоцна се користи како 'query' параметар во url-то за повик на апито. Откако ќе се повика апито и ќе се утврди дека повикот е успешен податоците се десерилизираат во објект од класата BatchQuoteDto и овој објект се враќа како резултат од функцијата

Поспецифично, функцијата враќа Task<Dictionary<string, BatchQuoteDto>> ова е потребно бидејќи форматот на json одговорот најдобро се претставува како речник каде што клучевите се симболи на компании, а вредностите објекти од BatchQuoteDto кои ги содржат соодветните податоци, сето ова се става во Task објект, бидејќи функцијата е асинхрона.

Спротивно од ова, ако повикот не бил успешен, функцијата ќе фати и повторно ќе фрли исклучок од типот System.Net.WebException

Упатство за користење на програмата:

Откако ке се стартува програмата првиот прозорец кој се појавува е прозорец кој автоматски ја проверува конектираноста на интернет бидејќи апликацијата има потреба од интернет.
image1

Доколку компјутерот на кој се стартува програмата не е поврзан на интернет се појавува прозорец кој го известува корисникот дека не е конектиран на интернет и бара од корисникот или да се конектира и да притисне "retry" или пак да ја исклучи програмата.
image2 image2.2

Доколку компјутерот почетно имал конекција или пак откако бил известен се поврзал на интернет и притиснал "retry", тогаш се појавува главниот прозорец на апликацијата именуван Stock Portfolio. image3 Во левиот дел од прозорецот може да се забележи листа каде што се прикажани најпопуларните акции (акциите на најпопуларните фирми пр. Apple, Microsoft...). Во овој прозорец може да ја провериме актуелната цена (по акција) како и тоа дали цената на акциите опаднала или пак се зголемила. Доколку акцијата е обоена со зелено значи дека има пораст додека пак ако е обоено со црвено значи дека цената на таа акција опаднала. Во десниот дел можеме да забележиме простор за новостите од светот на бизнисот претставени со наслов (линк) и кратка содржина. Со притискање на насловот на новоста програмата ве води до изворот на таа вест. Под делот за новости има простор каде што можеме да пребараме (филтрираме) новост по фирма. Во левиот горен дел постојат две копчиња од кои едното е Stock calculator, а другото Refresh Data. Во десниот горен дел има простор каде што корисникот може да внесе име на компанија и да пребара информации за таа компанија по притиснување на копчето Search.

При притискање на копчето Stock calculator од главниот прозорец се отвара нов прозорец.
image4
Во овој прозорец корисникот може да пресмета дали за одредени акции дали е во добивка или не. Притоа треба да го внесе името на компанијата од која купил акции, бројот на акции кои ги купил од таа фирма и цената (во долари) за која ги купил тие акции. По притиснување на копчето Calculate програмата пресметува дали според денешната цена (цената во тој момент), корисникот е во добивка или пак загуба. Притоа и за добивка и за загуба има вметнато соодветно sound effects. Овие sound effects може да се исклучат преку менито Sound effects -> disable (или пак ако се исклучени за да се уклучат Sound effects -> enable).

При притискање на копчето Refresh Data од главниот прозорец, податоците од главниот прозорец се освежуваат со моменталните податоци (бидејќи апликацијата работи со real-time податоци).
image5

Доколку во делот за внесување текст во горниот десен агол се внесе валидно име за компанија која постои (има помошна drop-down листа за да се види за кои компании дава податоци нашата компанија) и се притисне Search, тогаш се отвара нов прозорец со име Search results. image6 Во овој прозорец може корисникот да добие голем број на информации за одбраната компанија. Дел од тие податоци се и името на компанијата, раководителот, секторот на компанијата, дневната почетна цена на акциите, моменталната цена итн. Од особена важност е графикот кој покажува како се менувала цената на акциите во последниот месец. Притоа со hover над зелената линија може да се види точната цена за тој ден. Во горниот десен агол има простор за пребарување исто како оној во главниот прозорец преку кој што може да пребараме информации за некоја друга компанија.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%