blog-details

Xin chào cả nhà . Hôm nay minh xin giới thiệu sản phẩm mới của mình do mình phát triển mục tiêu hướng đến các bạn đa mê công nghệ nhưng không giỏi về lập trình vẫn có thể xây dựng cho mình 1 sản phẩm ứng dụng riêng biệt. Và atcsmart đã ra đời như thế. Tất cả các bạn đều có thể sử dụng được chỉ cần xem hướng dẫn và làm theo là các bạn hoàn toàn có thể làm chủ công nghệ .

Học lập trình web .NETCORE MVC  .NETCORE 3.x Entity Framework 6 Code First  sử dụng phần mềm ATCSMART gồm các bài sau.

 Điều kiện cần cài đặt Visual 2017 -2019 Và một trong hệ quản trị cơ sở dữ liệu sau đây

( SQLSever 2017-2019   |  MySQL MariaDB | Oracle 11 )

  Xem thêm tại đây

Hưỡng dẫn cài Sqlsever 2012

Hưỡng dẫn cài Visual 2019

1. Tạo chức năng các bảng dữ liệu

Script Mysql

CREATE TABLE IF NOT EXISTS `category` (
`id` int NOT NULL, 
`name` varchar (200) NULL, 
`sort` int NULL, 
`parrent` int NULL, 
`status` tinyint(1) NULL 
, PRIMARY KEY(id))
ENGINE=Inno

CREATE TABLE IF NOT EXISTS `blog` (
`id` int unsigned NOT NULL  AUTO_INCREMENT , 
`title` varchar (250) NULL, 
`note` varchar(500) NULL, 
`datepost` date NULL, 
`content` varchar(500) NULL, 
`sort` int NULL, 
`images` varchar (100) NULL, 
`status` tinyint(1) NULL, 
`link` varchar (200) NULL, 
`userpost` varchar (50) NULL, 
`categoryid` int NULL, 
`tagseo` varchar (500) NULL 
, INDEX(id), PRIMARY KEY(id))
ENGINE=InnoDB;

DB;

Script Sqlsever

----BEGIN CREATE TABLE category--------
CREATE TABLE [category] (
[id] int NOT NULL, 
[name] nvarchar (200) NULL, 
[sort] int NULL, 
[parrent] int NULL, 
[status] bit NULL 
, PRIMARY KEY(id))
;
-------BEGIN CREATE TABLE Blog--------
CREATE TABLE [Blog] (
[id] int IDENTITY(1,1)  NOT NULL, 
[title] nvarchar (250) NULL, 
[note] text NULL, 
[datepost] date NULL, 
[content] text NULL, 
[sort] int NULL, 
[images] nvarchar (100) NULL, 
[status] bit NULL, 
[link] nvarchar (200) NULL, 
[userpost] nvarchar (50) NULL, 
[categoryid] int NULL, 
[tagseo] nvarchar (500) NULL 
, PRIMARY KEY(id))
;

Script Oracle


-------BEGIN CREATE TABLE category--------
CREATE TABLE category (
id NUMBER NOT NULL, 
name NVARCHAR2 (200) NULL, 
sort NUMBER NULL, 
parrent NUMBER NULL, 
status NUMBER(1) NULL 
, PRIMARY KEY(id))
;

-------BEGIN CREATE TABLE Blog--------
CREATE TABLE Blog (
id NUMBER GENERATED ALWAYS as IDENTITY(START with 1 INCREMENT by 1), 
title NVARCHAR2 (250) NULL, 
note VARCHAR2(4000) NULL, 
datepost date NULL, 
content VARCHAR2(4000) NULL, 
sort NUMBER NULL, 
images NVARCHAR2 (100) NULL, 
status NUMBER(1) NULL, 
link NVARCHAR2 (200) NULL, 
userpost NVARCHAR2 (50) NULL, 
categoryid NUMBER NULL, 
tagseo NVARCHAR2 (500) NULL 
, PRIMARY KEY(id))
;

 

 

2. Sử dụng  script trên trinh quản lý sql sever 2012

 

3. Bulding code và chọn mẫu và xuất ra thư mục.

1.Controllers

using MSQL.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;

namespace MSQL.Controllers
{
    public class BlogController : Controller
    {

     
   MSQLEntities db = new MSQLEntities();

        public IActionResult Index()
        {
            
			ViewBag.categoryid = new SelectList(db.category.ToList(), "name", "id");
            var data = db.Blog.OrderByDescending(x => x.id).ToList();
            return View(data);
        }
        [HttpPost]
        public IActionResult Delete(Int32 id)
        {
           
            var data = db.Blog.FirstOrDefault(x => x.id.Equals(id));
            if (data != null)
            {
                var listdata = db.Blog.Where(x => x.id.Equals(data.id));
                foreach (var item in listdata)
               {
                    db.Blog.Remove(item);
                }
                db.Blog.Remove(data);
                db.SaveChanges();
            }
           
                return RedirectToAction("Index", "Blog", new  { id = data.id  });
            
        }
        public IActionResult Edit(Int32 id)
        {
           
            var _Blog = db.Blog.FirstOrDefault(x => x.id.Equals(id));
            BlogEdit model = new  BlogEdit();
               
			ViewBag.categoryid = new SelectList(db.category.ToList(), "id", "name", _Blog.id);
           
            if (_Blog != null)
            {  

             
				 model.id= _Blog.id;
				 model.title= _Blog.title;
				 model.note= _Blog.note;
				 model.datepost= _Blog.datepost;
				 model.content= _Blog.content;
				 model.sort= _Blog.sort;
				 model.images= _Blog.images;
				 model.status= _Blog.status;
				 model.link= _Blog.link;
				 model.userpost= _Blog.userpost;
				 model.categoryid= _Blog.categoryid;
				 model.tagseo= _Blog.tagseo;

               
            }
            return View(model);
        }
        [HttpPost]
        public IActionResult Edit(BlogEdit model)
        {
            
			 ViewBag.categoryid = new SelectList(db.category.ToList(), "id", "name", model.id);
            if (ModelState.IsValid)
            {
              
                var _Blog = db.Blog.FirstOrDefault(x => x.id.Equals(model.id));
                if ( _Blog != null)
               {
                    
					_Blog.id = model.id;
					_Blog.title = model.title;
					_Blog.note = model.note;
					_Blog.datepost = model.datepost;
					_Blog.content = model.content;
					_Blog.sort = model.sort;
					_Blog.images = model.images;
					_Blog.status = model.status;
					_Blog.link = model.link;
					_Blog.userpost = model.userpost;
					_Blog.categoryid = model.categoryid;
					_Blog.tagseo = model.tagseo;

                    db.SaveChanges();
                    ModelState.AddModelError("", "Update sucsecs full!");
                }
            }
            return View(model);
        }
        public IActionResult Add()
       {
               BlogAdd model = new  BlogAdd();
               
			ViewBag.categoryid = new SelectList(db.category.ToList(), "name", "id");
               return View(model);
        }

        [HttpPost]
        public IActionResult Add(BlogAdd model)
        {
             
			ViewBag.categoryid = new SelectList(db.category.ToList(), "name", "id", model.categoryid);
            if (ModelState.IsValid)
            {
                Blog  _Blog = new Blog();
                var data = db.Blog.FirstOrDefault(x => x.id.Equals(model.id));
                if (data == null)
                {
                    
					_Blog.id = model.id;
					_Blog.title = model.title;
					_Blog.note = model.note;
					_Blog.datepost = model.datepost;
					_Blog.content = model.content;
					_Blog.sort = model.sort;
					_Blog.images = model.images;
					_Blog.status = model.status;
					_Blog.link = model.link;
					_Blog.userpost = model.userpost;
					_Blog.categoryid = model.categoryid;
					_Blog.tagseo = model.tagseo;

                    db.Blog.Add(_Blog);
                    db.SaveChanges();
                    ModelState.AddModelError("", "Add new a item sucsecs full");
                }
                else
               {
                    ModelState.AddModelError("", "tên  này đã tồn tại. Hãy chọn tên khác");
                }
            }
            return View(model);
        }

     }

}

2. Model

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace MSQL {
	    [Table("Blog")]
        public class Blog
             	{
		[ DatabaseGenerated(DatabaseGeneratedOption.Identity)]
		[Key ]
		public Int32 id { get; set; }
		[MaxLength(250)]
		public String title { get; set; }
		public String note { get; set; }
		public DateTime datepost { get; set; }
		public String content { get; set; }
		public Int32 sort { get; set; }
		[MaxLength(100)]
		public String images { get; set; }
		public Boolean status { get; set; }
		[MaxLength(200)]
		public String link { get; set; }
		[MaxLength(50)]
		public String userpost { get; set; }
		public Int32 categoryid { get; set; }
		[MaxLength(500)]
		public String tagseo { get; set; }
	}
}
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace MSQL 
{
 [Table("category")]
  public class category
  {
		[Key ]
		public Int32 id { get; set; }
		[MaxLength(200)]
		public String name { get; set; }
		public Int32 sort { get; set; }
		public Int32 parrent { get; set; }
		public Boolean status { get; set; }
  }
}

3. Entity DbContext

using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace MSQL 
{
	public partial class MSQLEntities : DbContext
	{
		protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
			{
		optionsBuilder.UseSqlServer(@"Server =.\sqlexpress; Database = MSQL; User Id = sa; Password = 123; ");

        }

		public DbSet<Blog> Blogs { get; set; }
		
		public DbSet<category> categorys { get; set; }
		

		protected override void OnModelCreating(ModelBuilder modelBuilder) {}
	}
}

 

4. Xuất code vào project có sẵn hoặc mới hoàn toàn.

5. Chạy demo và triển khai đăng nhập quản lý

 

6. Cập nhật chỉnh sửa theo ý 1 số mục cần thiết.

Tùy chỉnh ngôn ngữ lại theo ý muốn

7. Hoàn thiện lần cuối.

8. Triển khai đưa sản phẩm lên hosting domain  Hỗ trợ linux

  •   Triển khai trên linux
  •   Triển khai trên windows

 

----Nội dung đang được cập nhật----

Đánh giá bài viết