using SmartCoalApplication.Core.DbOpreate.DbIDal;
using SmartCoalApplication.Core.DbOpreate.DbModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SmartCoalApplication.Core.DbOpreate.DbCodeFirstDAL
{
class mic_project_DAL : Imic_project
{
#region 基础功能
///
/// 添加信息
/// 实体
///
///
public bool Add(mic_project model)
{
using (DBEntities dbEntity = new DBEntities())
{
dbEntity.mic_project_market.Add(model);
int recordsAffected;
recordsAffected = dbEntity.SaveChanges();
return recordsAffected > 0;
}
}
///
/// 删除信息
/// 主键
///
///
public bool Del(int id)
{
using (DBEntities dbEntity = new DBEntities())
{
var info = dbEntity.mic_project_market.SingleOrDefault(m => m.id == id);
if (info != null)
{
dbEntity.mic_project_market.Remove(info);
dbEntity.SaveChanges();
}
else
{
return false;
}
return true;
}
}
///
/// 获得信息
/// 主键
///
///
public mic_project FindDefault(int id)
{
using (DBEntities dbEntity = new DBEntities())
{
return dbEntity.mic_project_market.Where(m => m.id == id).FirstOrDefault();
}
}
///
/// 更新信息
/// 实体
///
///
public bool Update(mic_project model)
{
using (DBEntities dbEntity = new DBEntities())
{
var info = dbEntity.mic_project_market.SingleOrDefault(m => m.id == model.id);
info.id = model.id;//主键ID
info.parent_id = model.parent_id;
info.project_name = model.project_name;
info.project_path = model.project_path;
info.project_type = model.project_type;
int recordsAffected;
recordsAffected = dbEntity.SaveChanges();
return recordsAffected > 0;
}
}
///
/// 获得所有信息
///
///
public List FindAll()
{
using (DBEntities dbEntity = new DBEntities())
{
return dbEntity.mic_project_market.OrderByDescending(m => m.id).ToList();
}
}
#endregion 基础功能
#region 扩展功能
public List FindAllByParentId(int id)
{
using (DBEntities dbEntity = new DBEntities())
{
return dbEntity.mic_project_market.Where(m=>m.parent_id==id).OrderByDescending(m => m.id).ToList();
}
}
public int FindCountByParentId(int id)
{
using (DBEntities dbEntity = new DBEntities())
{
return dbEntity.mic_project_market.Where(m => m.parent_id == id).Count();
}
}
public mic_project FindItenByNameAndParentId(string name, int parentId)
{
using (DBEntities dbEntity = new DBEntities())
{
return dbEntity.mic_project_market.Where(m => m.parent_id == parentId && m.project_name.Equals(name)).FirstOrDefault();
}
}
public mic_project FindItenByNameAndPath(string name, string path)
{
using (DBEntities dbEntity = new DBEntities())
{
return dbEntity.mic_project_market.Where(m => m.project_path.Equals(path) && m.project_name.Equals(name)).FirstOrDefault();
}
}
public List FindAllByIds(int[] ids)
{
using (DBEntities dbEntity = new DBEntities())
{
return dbEntity.mic_project_market.Where(m => ids.Contains(m.id)).OrderByDescending(m => m.id).ToList();
}
}
#endregion
}
}