Exemplo n.º 1
0
        public void Post([FromBody] Emitent emitent)
        {
            using (UnitOfWork unit = new UnitOfWork((DbContext) new DataContext()))
            {
                unit.EmitentRepository.Update(emitent);

                unit.Commit();
            }
        }
Exemplo n.º 2
0
        public Emitent Get(int Id)
        {
            Emitent emitent = null;

            using (UnitOfWork unit = new UnitOfWork((DbContext) new DataContext()))
            {
                emitent = unit.EmitentRepository.Query <Emitent>(m => m.Id == Id, null).Single();
            }

            return(emitent);
        }
Exemplo n.º 3
0
        protected override void Seed(DataContext context)
        {
            var nikel = new Emitent()
            {
                Name = "Горно-металлургическая компания \"Норильский никель\""
            };
            var lukoil = new Emitent()
            {
                Name = "Нефтяная компания \"ЛУКОЙЛ\""
            };
            var megafon = new Emitent()
            {
                Name = "Публичное акционерное общество \"МегаФон\""
            };

            var gmkn = new Security()
            {
                Code = "GMKN", IssueSize = 158245476, Name = "ГМК \"Нор.Никель\" ПАО ао"
            };
            var lkoh = new Security()
            {
                Code = "LKOH", IssueSize = 850563255, Name = "НК ЛУКОЙЛ (ПАО) - ао"
            };
            var mfon = new Security()
            {
                Code = "MFON", IssueSize = 620000000, Name = "МегаФон ПАО ао"
            };

            var megafon_Q3 = new Financial()
            {
                Year                = 2016,
                Period              = (int)PeriodType.Q3,
                Revenue             = 81115,
                OperatingIncome     = 16686,
                NetIncome           = 6545,
                CurrentAssets       = 88796,
                FixedAssets         = 376612,
                CurrentLiabilities  = 69198,
                LongTermLiabilities = 260316,
                Emitent             = megafon
            };



            gmkn.Emitent = nikel;
            lkoh.Emitent = lukoil;
            mfon.Emitent = megafon;

            context.Securities.Add(gmkn);
            context.Securities.Add(lkoh);
            context.Securities.Add(mfon);

            context.Financials.Add(megafon_Q3);
        }
Exemplo n.º 4
0
        public override Task <string> Update(Emitent model)
        {
            TaskCompletionSource <string> TCS = new TaskCompletionSource <string>();

            string url = string.Format("{0}{1}", this.ServerURL, "api/emitent/");

            this._apiClient.PostData(url, model.ConverToKeyValue()).ContinueWith(t =>
            {
                //string data = t.Result;

                TCS.SetResult(t.Result ? "success" : "fail");
            });

            return(TCS.Task);
        }
Exemplo n.º 5
0
        public EmitentListViewModel(INavigationService navigationService, IMainCommandBar commandBar)
        {
            this._navigationService = navigationService;
            this._commandBar        = commandBar;

            this.EmitentList = new ObservableCollection <Entities.Emitent>();

            Messenger.Default.Register <EmitentListLoadedMessage>(this, (msg) =>
            {
                this.EmitentList.Clear();
                foreach (Entities.Emitent emitent in msg.EmitentList)
                {
                    this.EmitentList.Add(emitent);
                }
            });

            SelectEmitentCmd = new RelayCommand <object>((parameter) =>
            {
                Windows.UI.Xaml.Controls.ItemClickEventArgs e = (Windows.UI.Xaml.Controls.ItemClickEventArgs)parameter;
                Emitent SelectedEmitent = (Emitent)e.ClickedItem;

                this._navigationService.NavigateTo("EmitentDetails", SelectedEmitent);
            });
        }
Exemplo n.º 6
0
        public void LoadData(Emitent emitent)
        {
            this._emitentId = emitent.Id;

            this.Emitent = emitent;

            Messenger.Default.Send <LoadFinancialListMessage>(new LoadFinancialListMessage()
            {
                EmitentId = this._emitentId
            });

            _commandBar.Clear();
            _commandBar.AddCommandButton(new AppBarButton()
            {
                Icon    = new SymbolIcon(Symbol.Add),
                Command = this.AddFinancialCmd
            });

            _commandBar.AddCommandButton(new AppBarButton()
            {
                Icon    = new SymbolIcon(Symbol.Edit),
                Command = this.EditFinancialCmd
            });
        }
Exemplo n.º 7
0
        public IActionResult Post([FromBody] ImportRequest requestModel)
        {
            if (requestModel.Object == "deal")
            {
                var dealRaws = _context.DealRawSet.ToList();
                var accounts = _context.AccountSet.ToList();

                foreach (DealRaw rawItem in dealRaws)
                {
                    var security = _context.SecuritySet.Single(s => s.Code == rawItem.symbol);

                    Deal deal = new Deal()
                    {
                        Number       = rawItem.number,
                        Operation    = rawItem.operation == "Купля" ? OrderOperationEnum.Buy : OrderOperationEnum.Sell,
                        securityId   = security.Id,
                        accountId    = accounts.Single(a => a.Client == rawItem.client).Id,
                        Board        = rawItem.board,
                        Date         = DateTime.ParseExact($"{rawItem.date} {rawItem.time}", "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture),
                        DeliveryDate = DateTime.ParseExact(rawItem.delivery_date, "dd.MM.yyyy", CultureInfo.InvariantCulture),
                        Count        = rawItem.count,
                        Price        = rawItem.price,
                        Volume       = rawItem.volume,
                        NKD          = security.Market == "bonds" ? rawItem.nkd : null
                    };

                    _context.DealSet.Add(deal);
                }

                _context.SaveChanges();
            }

            if (requestModel.Object == "stock")
            {
                foreach (string isin in requestModel.ISIN)
                {
                    Emitent emitent = null;

                    SecurityRaw rawItem = _context.SecurityRawSet.Single(s => s.isin == isin);

                    if (string.IsNullOrEmpty(rawItem.Emitent))
                    {
                        emitent = new Emitent()
                        {
                            Code          = rawItem.ticker,
                            Name          = rawItem.name,
                            FinancialPage = rawItem.Board == "SPBMX" ? rawItem.ticker : $"{rawItem.ticker}.ME"
                        };
                    }
                    else
                    {
                        emitent = _context.EmitentSet.Single(e => e.Code == rawItem.Emitent);
                    }

                    Share stock = new Share()
                    {
                        Emitent  = emitent,
                        ISIN     = rawItem.isin,
                        Code     = rawItem.ticker,
                        Name     = rawItem.name,
                        Region   = rawItem.Board == "SPBMX" ? "United States" : "Moscow",
                        Currency = rawItem.currency,
                        Market   = "shares",
                        Board    = rawItem.Board
                    };

                    Quote quote = new Quote()
                    {
                        Id     = Guid.NewGuid(),
                        figi   = rawItem.figi,
                        symbol = rawItem.ticker,
                        Board  = rawItem.Board
                    };

                    _context.ShareSet.Add(stock);
                    _context.QuoteSet.Add(quote);


                    rawItem.Processed = true;
                    rawItem.Emitent   = emitent.Code;

                    _context.SecurityRawSet.Update(rawItem);

                    _context.SaveChanges();
                }
            }

            return(Ok());
        }