标签: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);
}
}
}
标签:linq save 文件 ESS load sts base def 数据
原文地址:https://www.cnblogs.com/Nicholases/p/10001830.html