Пример #1
0
        static void Main(string[] args)
        {
            var str = @"Вопреки мрачным прогнозам, агентство S&P сохранило инвестиционный рейтинг России, оставив негативный прогноз по нему. Рынок отреагировал ростом на 2% на вечерней сессии, рубль незначительно укрепился. Мы приветствуем решение агентства и находим его взвешенным. Фонды, ориентированные на Россию, за неделю увеличили отток с $62 млн. до почти $140 млн. Ускорение оттока прошло на фоне бокового тренда на рынке, мы полагаем, что спекулятивные инвестиции могут вернуться в следующем месяце, если цена на нефть не продолжит снижение.Из корпоративных событий стоит отметить, что госбанки подали в суд на ЕС. 
Сбербанк (SBER:RX 72,49 +1,26%) и банк ВТБ (VTBR:RX 0,03837 +1,59%) оспорили действие санкций. С точки зрения имиджа данное мероприятие, возможно, правильное, но в связи с тем, что решение принято на политическом уровне, мы полагаем, что шансов добиться успехов в этом деле у банков практически нет. Роснефть (ROSN:RX 225,88 +0,75%) продала первый газ на бирже. В пятницу в России после длительного перерыва стартовали торги газом, на этот раз площадкой стала Петербургская сырьевая биржа. Цена первой сделки существенно не отличалась от цен прямых договоров и регулируемого тарифа. Слабопозитивно. Учитывая то, что на рынке присутствует ограниченное число покупателей и продавцов, а предлагаемые объемы не превысят 30 - 35 млрд куб. м. в год ($1,8 млрд в текущих ценах), да и те жестко привязаны к местам поставки, а минимум половина объема придется на Газпром GAZP:RX 133,99 +ne0,37%), можно считать, что никакой серьезной торговли не будет, и не исключено, что инициатива вновь заглохнет спустя какое-то время.Московская биржа (MOEX:RX 58,20 +0,17%) возродит систему индикативных котировок.. Позитивно. После поглощения Биржи РТС рынку не хватало системы, где до кризиса 2008 г. активно торговались десятки бумаг 3 и 4 эшелонов. Решение совета биржи говорит о том, что возродился интерес участников к этому сегменту. Также этому могло способствовать увеличение доли иностранных участников на бирже, ранее они охотно торговали малоликвидными бумагами.Магнит (MGNT:RX 10 180 + 0,30%) увеличит дивиденды. Компания может направить акционерам около половины чистой прибыли за 2014 год. Слабопозитивно. Если прибыль ритейлера достигнет 50 млрд руб., акционеры могут рассчитывать на 260 руб. на акцию, или доходность 2,5% к текущей цене. Мы полагаем, что несмотря на высокий темп роста операционных и финансовых показателей Магнита, цена акций уже не будет расти так же сильно, оцениваем справедливую цену в 10 500 руб. на горизонте 6 мес., что соответствует рекомендации Сокращать.Торговые идеи на сегодня: Банк ВТБ (VTBR:RX 0,03837 + 1,59%). Спек. покупка. Цель 0.045 руб.В первой половине дня ожидается отскок. Поводом является рейтинг, однако оптимизм сдерживает негативная динамика на азиатских площадках. Лучше рынка могут быть бумаги банковского сектора.Что касается американских бирж, то фондовые индексы США в пятницу закрылись с плюсом, с S&P500 и Nasdaq 100 зафиксировавшими самый большой недельный рост в течение года на фоне того, как уверенность инвесторов в крепком здоровье американской экономики продолжила усиливаться.Продажи новых домов в сентябре увеличились до годового показателя 467 000, самого высокого значения за 6 лет. Экономисты ожидали, что этот показатель составит 455 000. Экономический рост в Великобритании замедлился в третьем квартале до 0,7% с 0,9% в предыдущем квартале. Значение совпало с ожиданиями. Из пяти крупнейших компаний, отчитавшихся в пятницу, разочаровал инвесторов только Ford, хотя его данные были лучше ожиданий: The Procter & Gamble (PG) +2.32%, United Parcel Service (UPS) +0.11%, Bristol-Myers Squibb (BMY) +2.15%, Colgate-Palmolive (CL) +0.46%, Ford (F) -4.31%.Предстоящая неделя пройдет под знаком заседания ФРС 28-29 октября, но и новости из Европы будут иметь большое значение. Самым важным станет выход 30 октября индекса экономического настроения Еврозоны в октябре. Если он, как мы ожидаем, снизится, то это будет весьма негативно и для США. В воскресенье, 26 октября, Европейский центральный банк опубликовал итоговые результаты стресс-тестов. 25 банков не прошли проверку ЕЦБ. Основное их число составляют банки из Италии, Греции и Кипра. Есть в этом списке представители Испании и Германии. Так как задолго до объявления официальных итогов, в прессе появилась существенная часть информации, сильно негативной реакции рынков в понедельник мы не ожидаем. Сегодняшняя публикация опроса института IFO в Германии будет важной, так как по ней будут судить о значении ближайшего квартального ВВП. С февраля этого года опрос свидетельствует об ухудшении бизнес-настроений в стране, и мы ждем, что негативная тенденция сохранится. Если ожидания оправдаются, то снижения акций немецких компаний не избежать, что отрицательно повлияет на настроение трейдеров в США. В США сегодня публикуются только данные по незавершенным сделкам по продаже домов (17.00 МСК). Ожидается рост, но заметного влияния на движения индексов он не окажет.";



            using (var db = new ArticlesDbContext())
            {
                for (int i = 0; i < 15000; i++)
                {
                    db.Articles.Add(new LoadedArticle()
                    {
                        Author  = "Автор Имя",
                        Company = "Компания Имя",
                        Title   =
                            "Стоимость акций на мировых фондовых рынках близка к справедливой, а разговоры о формировании пузырей безосновательны",
                        Content     = str,
                        PublishDate = DateTime.Now,
                        Url         = "sdfasf"
                    });
                }
                try
                {
                    db.SaveChanges();;
                }
                catch (DbEntityValidationException ex)
                {
                    var errors = ex.EntityValidationErrors.ToList();
                }

                // db.Articles.Add(new LoadedArticle());
                var list = db.Articles.Count();
            }
        }
Пример #2
0
 public ArticleService(ArticlesDbContext articlesDbContext)
 {
     _articlesDbContext = articlesDbContext;
     _conversor         = new MapperBuilder()
                          .AddProfile <ArticleProfile>()
                          .BuildTwoWayMapper <Article, ArticleModel>(nameof(ArticleService));
 }
Пример #3
0
 public ArticlesService(ArticlesDbContext context
                        , ICurrentUserService currentUserService
                        , IBus publisher)
     : base(context)
 {
     this.context            = context;
     this.currentUserService = currentUserService;
     this.publisher          = publisher;
 }
        public GenericRepository(ArticlesDbContext context)
        {
            if (context == null)
            {
                throw new ArgumentException("An instance of DbContext is required to use this repository.", "context");
            }

            this.Context = context;
            this.DbSet   = this.Context.Set <T>();
        }
Пример #5
0
        public async Task HandleAsync(CreateArticle command)
        {
            try
            {
                var optionsBuilder = new DbContextOptionsBuilder <ArticlesDbContext>();
                optionsBuilder.UseMySql(_configuration.GetConnectionString("Default"));

                using (var context = new ArticlesDbContext(optionsBuilder.Options))
                {
                    context.Articles.Add(new Domain.Article(command.Id, command.Name, command.Content));
                    await context.SaveChangesAsync();
                }
            }
            catch (System.Exception ex)
            {
                throw;
            }
        }
Пример #6
0
        public void ArticlesDbContext_Construcor_Success()
        {
            // Arrange
            var settings = new ArticlesDbSettings()
            {
                Connection   = "mongodb://test",
                DatabaseName = "TestDb"
            };

            _mockOptions.Setup(s => s.Value).Returns(settings);
            _mockClient.Setup(c => c.GetDatabase(_mockOptions.Object.Value.DatabaseName, null))
            .Returns(_mockDb.Object);

            // Act
            var context = new ArticlesDbContext(_mockOptions.Object);

            // Assert
            Assert.NotNull(context);
        }
Пример #7
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ArticlesDbContext dbContext)
        {
            if (env.IsDevelopment())
            {
                dbContext.Database.EnsureCreated();
                app.UseDeveloperExceptionPage();
            }

            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapGrpcService <Services.ArticlesService>();

                endpoints.MapGet("/", async context =>
                {
                    await context.Response.WriteAsync("Communication with gRPC endpoints must be made through a gRPC client. To learn how to create a client, visit: https://go.microsoft.com/fwlink/?linkid=2086909");
                });
            });
        }
Пример #8
0
        public void ArticlesDbContext_GetCollection_NameEmpty_Failure()
        {
            // Arrange
            var settings = new ArticlesDbSettings()
            {
                Connection     = "mongodb://test",
                DatabaseName   = "TestDb",
                CollectionName = string.Empty
            };

            _mockOptions.Setup(s => s.Value).Returns(settings);
            _mockClient.Setup(c => c
                              .GetDatabase(_mockOptions.Object.Value.DatabaseName, null))
            .Returns(_mockDb.Object);

            //Act
            var context = new ArticlesDbContext(_mockOptions.Object);

            //Assert
            Assert.Throws <ArgumentException>(() => context.GetCollection <Article>());
        }
Пример #9
0
        private void CreateAdminUserAndApplicationRoles()
        {
            ArticlesDbContext context = new ArticlesDbContext();
            var roleManager           = new RoleManager <IdentityRole>(new
                                                                       RoleStore <IdentityRole>(context));
            var UserManager = new UserManager <ApplicationUser>(new
                                                                UserStore <ApplicationUser>(context));

            // Se adauga rolurile aplicatiei
            if (!roleManager.RoleExists("Administrator"))
            {
                // Se adauga rolul de administrator
                var role = new IdentityRole();
                role.Name = "Administrator";
                roleManager.Create(role);
                // se adauga utilizatorul administrator
                var user = new ApplicationUser();
                user.Email    = "*****@*****.**";
                user.UserName = user.Email;
                var adminCreated = UserManager.Create(user, "890iop");
                if (adminCreated.Succeeded)
                {
                    UserManager.AddToRole(user.Id, "Administrator");
                }
            }
            if (!roleManager.RoleExists("Editor"))
            {
                var role = new IdentityRole();
                role.Name = "Editor";
                roleManager.Create(role);
            }
            if (!roleManager.RoleExists("User"))
            {
                var role = new IdentityRole();
                role.Name = "User";
                roleManager.Create(role);
            }
        }
Пример #10
0
 public static void Initialize()
 {
     Database.SetInitializer(new MigrateDatabaseToLatestVersion <ArticlesDbContext, Configuration>());
     ArticlesDbContext.Create().Database.Initialize(true);
 }
 public IndexModel(ArticlesDbContext ctx)
 {
     _articleController = new ArticleController(ctx);
 }
 public ProfileModel(ArticlesDbContext ctx)
 {
     _userController = new UserController(ctx);
     _authcontroller = new AuthenticationController(ctx);
 }
 public RepositoryBase(ArticlesDbContext context)
 {
     Context   = context;
     DbSet     = Context.Set <TEntity>();
     Queryable = DbSet;
 }
Пример #14
0
 public GetArticleHandler(ArticlesDbContext context)
 {
     _context = context;
 }
Пример #15
0
 internal DbManager()
 {
     db = new ArticlesDbContext();
 }
 public LoginModel(ArticlesDbContext ctx)
 {
     _authController = new AuthenticationController(ctx);
 }
 public AddArticleModel(ArticlesDbContext ctx)
 {
     _articleController = new ArticleController(ctx);
 }
 public BaseSiteController(ArticlesDbContext ctx)
 {
     _ctx = ctx;
 }
 public ArticleController(ArticlesDbContext context, IRepository <Articles, int> repository)
 {
     this.context    = context;
     this.repository = repository;
 }
 public AlertsService()
 {
     this.data = new AlertsData(ArticlesDbContext.Create());
 }
 public ArticlesRepository(ArticlesDbContext dbContext)
 {
     _dbContext = dbContext;
 }
 public AuthenticationController(ArticlesDbContext ctx)
 {
     _ctx = ctx;
 }
 public MSSQLCommentRepository(ArticlesDbContext context)
 {
     this.context = context ?? throw new ArgumentNullException(nameof(context));
 }
Пример #24
0
 public UsersService(ArticlesDbContext context)
 {
     this.context = context;
 }
Пример #25
0
 public ArticlesUnitofWork(ArticlesDbContext _db)
 {
     db = _db;
 }
Пример #26
0
 public CommentsController(ArticlesDbContext context)
 {
     _context = context;
 }
Пример #27
0
 public ArticlesController(ArticlesDbContext articlesDbContext)
 {
     _articlesDbContext = articlesDbContext;
 }
Пример #28
0
 public RegisterModel(ArticlesDbContext ctx)
 {
     _userController = new UserController(ctx);
 }
 public ArticleController(ArticlesDbContext ctx) : base(ctx)
 {
 }
Пример #30
0
 public CreateArticleHandler(ArticlesDbContext context)
 {
     _context = context;
 }