Example #1
0
        public int CreateArticleMaterial(ArticleMaterial articleMaterial)
        {
            int id = this.repository.Create <BaseMaterial>(new ArticleMaterial
            {
                Name      = articleMaterial.Name,
                Published = articleMaterial.Published,
                Link      = articleMaterial.Link
            });

            return(id);
        }
Example #2
0
        /// <summary>
        /// 修改永久图文素材
        /// </summary>
        /// <param name="mediaId">要修改的永久图文素材Id</param>
        /// <param name="index">要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为0</param>
        /// <returns>微信服务返回的修改结果</returns>
        public WeChatResult UpdateNews(string mediaId, int index, ArticleMaterial articleMaterial)
        {
            string accessToken = connect.GetAccessToken();
            string url         = "https://api.weixin.qq.com/cgi-bin/material/update_news?access_token=" + accessToken;
            string resultStr   = SimulateRequest.HttpPost(url, new
            {
                media_id = mediaId,
                index,
                articles = articleMaterial
            });
            WeChatResult weChatResult = new WeChatResult(resultStr);

            if (weChatResult.errcode != WeChatErrorCode.SUCCESS)
            {
                SystemLogHelper.Warn(MethodBase.GetCurrentMethod(), $"修改永久图文素材UpdateNews,微信服务报错:{weChatResult}");
            }
            return(weChatResult);
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity <ArticleMaterial>().ToTable("ArticleMaterial");
            modelBuilder.Entity <VideoMaterial>().ToTable("VideoMaterial");
            modelBuilder.Entity <BookMaterial>().ToTable("BookMaterial");

            modelBuilder.Entity <User>().Property(u => u.Name).HasMaxLength(50);
            modelBuilder.Entity <User>().Property(a => a.Email).HasMaxLength(50);
            modelBuilder.Entity <User>().Property(a => a.Password).HasMaxLength(128);

            modelBuilder.Entity <Skill>().Property(s => s.Name).HasMaxLength(30);

            modelBuilder.Entity <Material>().Property(m => m.Name).HasMaxLength(50);

            modelBuilder.Entity <ArticleMaterial>().Property(b => b.Name).HasMaxLength(128);
            modelBuilder.Entity <ArticleMaterial>().Property(b => b.Resource).HasMaxLength(500);

            modelBuilder.Entity <VideoMaterial>().Property(v => v.Name).HasMaxLength(128);
            modelBuilder.Entity <VideoMaterial>().Property(v => v.Link).HasMaxLength(500);

            modelBuilder.Entity <BookMaterial>().Property(v => v.Name).HasMaxLength(128);
            modelBuilder.Entity <BookMaterial>().Property(v => v.Author).HasMaxLength(128);

            modelBuilder.Entity <Test>().Property(c => c.Name).HasMaxLength(30);

            modelBuilder.Entity <Question>().Property(c => c.Name).HasMaxLength(128);

            modelBuilder.Entity <Answer>().Property(c => c.Name).HasMaxLength(60);

            modelBuilder.Entity <Course>().Property(c => c.Name).HasMaxLength(128);
            modelBuilder.Entity <Course>().Property(c => c.Description).HasMaxLength(250);

            modelBuilder.Entity <UserSkills>().HasKey(x => new { x.UserId, x.SkillId });
            modelBuilder.Entity <UserSkills>()
            .HasOne(x => x.User)
            .WithMany(x => x.UserSkills)
            .HasForeignKey(x => x.UserId);
            modelBuilder.Entity <UserSkills>()
            .HasOne(x => x.Skill)
            .WithMany(x => x.UserSkills)
            .HasForeignKey(x => x.SkillId);

            modelBuilder.Entity <UserCoursesInProgress>().HasKey(x => new { x.UserId, x.CourseId });
            modelBuilder.Entity <UserCoursesInProgress>()
            .HasOne(x => x.User)
            .WithMany(x => x.CoursesInProgress)
            .HasForeignKey(x => x.UserId)
            .OnDelete(DeleteBehavior.Restrict);
            modelBuilder.Entity <UserCoursesInProgress>()
            .HasOne(x => x.Course)
            .WithMany(x => x.UsersInProgress)
            .HasForeignKey(x => x.CourseId)
            .OnDelete(DeleteBehavior.Restrict);

            modelBuilder.Entity <UserPassedCourses>().HasKey(x => new { x.UserId, x.CourseId });
            modelBuilder.Entity <UserPassedCourses>()
            .HasOne(x => x.User)
            .WithMany(x => x.PassedCourses)
            .HasForeignKey(x => x.UserId)
            .OnDelete(DeleteBehavior.Restrict);
            modelBuilder.Entity <UserPassedCourses>()
            .HasOne(x => x.Course)
            .WithMany(x => x.UsersPassed)
            .HasForeignKey(x => x.CourseId)
            .OnDelete(DeleteBehavior.Restrict);

            var skill = new Skill {
                Id = 1, Name = "C#"
            };
            var skill2 = new Skill {
                Id = 2, Name = ".Net"
            };
            var skills = new List <Skill>()
            {
                skill, skill2
            };

            var article = new ArticleMaterial {
                Id = 1, Name = "C# Metanit", PublishDate = DateTime.Now, Resource = "https://metanit.com/"
            };
            var video = new VideoMaterial {
                Id = 2, Name = "Extreme Code - CLR", Quality = VideoQuality.High, Duration = "19,27", Link = "https://www.youtube.com/watch?v=neu6M576RWo"
            };
            var book = new BookMaterial {
                Id = 3, Name = "CLR via C#", Author = "Richter", Format = BookFormat.Large, Pages = 236, YearOfPublish = 2006
            };

            modelBuilder.Entity <Skill>().HasData(skills);
            modelBuilder.Entity <ArticleMaterial>().HasData(article);
            modelBuilder.Entity <VideoMaterial>().HasData(video);
            modelBuilder.Entity <BookMaterial>().HasData(book);
        }
 public async Task AddArticleMaterial(ArticleMaterial articleMaterial)
 {
     await articleMaterialRepository.AddAsync(articleMaterial);
 }