码迷,mamicode.com
首页 > 其他好文 > 详细

DAL层,BLL层,控制器

时间:2018-11-22 17:11:21      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:linq   save   文件   ESS   load   sts   base   def   数据   

//DAL

//表

using FK.Month.Test.IDAL;
using FK.Month.Test.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace FK.Month.Test.DAL
{
public class CommonDal : ICommon
{
BaseProduct db = new BaseProduct();
public int Add(ProductInfo m)
{
db.Database.CreateIfNotExists();
db.ProductInfo.Add(m);
return db.SaveChanges();
}

public int Del(int ID)
{
var model = db.ProductInfo.Find(ID);
db.ProductInfo.Remove(model);
return db.SaveChanges();
}

public int Dels(string IDs)
{
string[] s = IDs.Split(‘,‘);
List<ProductInfo> ss = new List<ProductInfo>();
foreach (var item in s)
{
var model = db.ProductInfo.Find(Convert.ToInt32(item));
ss.Add(model);

}
db.ProductInfo.RemoveRange(ss);
return db.SaveChanges();
}

public ProductInfo Fill(int ID)
{
return db.ProductInfo.AsNoTracking().Where(m => m.ID.Equals(ID)).FirstOrDefault();
}

public List<ProductInfo> Show(Expression<Func<ProductInfo, bool>> Where)
{
return db.ProductInfo.AsNoTracking().Where(Where).ToList();
}

public int Update(ProductInfo m)
{
//if (!db.ProductInfo.Any(t => t.ID == m.ID))
//{
// db.Entry(m).State = System.Data.Entity.EntityState.Modified;
//}

var mobj = db.ProductInfo.Find(m.ID);
mobj.Price = m.Price;
mobj.State = m.State;
mobj.OrderBy = m.OrderBy;
mobj.ProductTitle = m.ProductTitle;
mobj.Files = m.Files;
mobj.BeginTime = m.BeginTime;
mobj.Content = m.Content;

return db.SaveChanges();
}

public int UpdateState(int ID, int State)
{
var lst = db.ProductInfo.Where(t => t.ID.Equals(ID)).ToList();

if (lst.Count() > 0)
{
if (State == 1)
{
lst[0].State = 0;
}
else
{
lst[0].State = 1;
}

db.Entry(lst[0]).State = System.Data.Entity.EntityState.Modified;
}
return db.SaveChanges();
}

}
}

//EF

namespace FK.Month.Test.DAL
{
using FK.Month.Test.Model;
using System;
using System.Data.Entity;
using System.Linq;

public class BaseProduct : DbContext
{
//您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config)
//使用“BaseProduct”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的
//“FK.Month.Test.DAL.BaseProduct”数据库。
//
//如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“BaseProduct”
//连接字符串。
public BaseProduct()
: base("name=BaseProduct")
{
}

//为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First 模型
//的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109。

public virtual DbSet<ProductInfo> ProductInfo { get; set; }
}

//public class MyEntity
//{
// public int Id { get; set; }
// public string Name { get; set; }
//}
}

 

 

//BLL层

 

using FK.Month.Test.Factory;
using FK.Month.Test.IDAL;
using FK.Month.Test.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace FK.Month.Test.BLL
{
public class CommonBLL : ICommon
{
static ICommon dal = SumFactory.GetFactory().CreateCommonDal();

public int Add(ProductInfo m)
{
return dal.Add(m);
}

public int Del(int ID)
{
return dal.Del(ID);
}

public int Dels(string IDs)
{
return dal.Dels(IDs);
}

public ProductInfo Fill(int ID)
{
return dal.Fill(ID);
}

public List<ProductInfo> Show(Expression<Func<ProductInfo, bool>> Where)
{
return dal.Show(Where);
}

public int Update(ProductInfo m)
{
return dal.Update(m);
}

public int UpdateState(int ID, int State)
{
return dal.UpdateState(ID, State);
}
}
}

 

//控制器 MVC

 

using FK.Month.Test.BLL;
using FK.Month.Test.Model;
using FK.Month.Test.MVC.Models;
using FK.Month.Test.MVC.Unit;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Web;
using System.Web.Mvc;

namespace FK.Month.Test.MVC.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
return View();
}
[HttpGet]
public string Show(int PageIndex, int PageSize, string Name, int State)
{
Expression<Func<ProductInfo, bool>> expression = t => true;
if (Name != "")
{
expression = expression.And(t => t.ProductTitle.Contains(Name));
}
if (State != -1)
{
expression = expression.And(t => t.State.Equals(State));
}
List<ProductInfo> List = new CommonBLL().Show(expression).ToList();
ViewModel vm = new ViewModel();
vm.PageCount = List.Count();
List = List.Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
vm.List = List;
return JsonConvert.SerializeObject(vm);
}

public ActionResult Add()
{
return View();

}
public ActionResult Update(int ID)
{
ProductInfo List = new CommonBLL().Fill(ID);
return View(List);

}
[HttpPost]
[ValidateInput(false)]
public ActionResult UpdateData(ProductInfo m)
{
m.State = 1;
if (new CommonBLL().Update(m) < 1)
{
return Content("<script>alert(‘修改出现错误‘)</script>");
}
return Content("<script>alert(‘修改成功‘);location.href=‘/Home/Index‘</script>");
}

[HttpPost]
[ValidateInput(false)]
public ActionResult Insert(ProductInfo m)
{
m.State = 1;
if (new CommonBLL().Add(m) < 1)
{
return Content("<script>alert(‘添加出现错误‘)</script>");
}
return Content("<script>alert(‘添加成功‘);location.href=‘/Home/Index‘</script>");
}
/// <summary>
/// 上传文件
/// </summary>
/// <returns></returns>
[HttpPost]

public JsonResult UpLoadFiles()
{
string Path = Server.MapPath("/Files");
if (!Directory.Exists(Path))
{
Directory.CreateDirectory(Path);
}
HttpFileCollectionBase Files = Request.Files;
IList<string> ImgList = new List<string>();
for (int i = 0; i < Files.Keys.Count; i++)
{
var EveFiles = Request.Files[i];
string ImgPath = Path + "/" + EveFiles.FileName;
EveFiles.SaveAs(ImgPath);
ImgList.Add(EveFiles.FileName);
}
return Json(ImgList, JsonRequestBehavior.AllowGet);
}
public int Del(int ID)
{
return new CommonBLL().Del(ID);
}
[HttpGet]
public int UpdateState(int ID, int State)
{

return new CommonBLL().UpdateState(ID, State);

}
[HttpPost]
public int Dels(string IDs)
{
return new CommonBLL().Dels(IDs);
}
}
}

 

DAL层,BLL层,控制器

标签:linq   save   文件   ESS   load   sts   base   def   数据   

原文地址:https://www.cnblogs.com/Nicholases/p/10001830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!