using Edu.Common.Enum;
using Edu.Model.ViewModel.User;
using Edu.Repository.User;
using System.Collections.Generic;
using System.Linq;
using VT.FW.DB;
namespace Edu.Module.User
{
///
/// 学校校区处理类
///
public class SchoolModule
{
///
/// 学校仓储层对象
///
private readonly RB_SchoolRepository schoolRepository = new RB_SchoolRepository();
///
/// 部门仓储层对象
///
private readonly RB_DepartmentRepository departmentRepository = new RB_DepartmentRepository();
///
/// 账号管理仓储层对象
///
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
///
/// 获取学校列表
///
/// 查询条件
///
public List GetSchoolListModule(RB_School_ViewModel query)
{
return schoolRepository.GetSchoolListRepository(query); ;
}
///
/// 获取学校分页列表
///
///
///
///
///
///
public List GetSchoolPageListModule(int pageIndex, int pageSize, out long rowsCount, RB_School_ViewModel query)
{
var list = schoolRepository.GetSchoolPageListRepository(pageIndex, pageSize, out rowsCount, query);
if (list != null && list.Count > 0)
{
List deptList = new List();
List empList = new List();
string deptIds = string.Join(",", list.Where(qitem => qitem.Dept_Id > 0).Select(qitem => qitem.Dept_Id));
string empIds = string.Join(",", list.Where(qitem => qitem.ManagerId > 0).Select(qitem => qitem.ManagerId));
if (!string.IsNullOrEmpty(deptIds))
{
deptList = departmentRepository.GetDepartmentListRepository(new RB_Department_ViewModel()
{
QDeptIds = deptIds
});
}
if (!string.IsNullOrEmpty(empIds))
{
empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { QIds = empIds });
}
foreach (var item in list)
{
item.DeptName = deptList?.Where(qitem => qitem.DeptId == item.Dept_Id)?.FirstOrDefault()?.DeptName ?? "";
item.ManagerName = empList?.Where(qitem => qitem.Id == item.ManagerId)?.FirstOrDefault()?.EmployeeName ?? "";
}
}
return list;
}
///
/// 获取学校实体类
///
///
///
public RB_School_ViewModel GetSchoolEntityModule(int SId)
{
return GetSchoolListModule(new RB_School_ViewModel() { SId = SId })?.FirstOrDefault() ?? new RB_School_ViewModel();
}
///
/// 新增修改学校
///
///
///
public virtual bool SetSchoolModule(RB_School_ViewModel model)
{
bool flag;
if (model.SId > 0)
{
Dictionary fileds = new Dictionary()
{
{nameof(RB_School_ViewModel.SName),model.SName.Trim() },
{nameof(RB_School_ViewModel.SAddress),model.SAddress},
{nameof(RB_School_ViewModel.SLinkTel),model.SLinkTel.Trim() },
{nameof(RB_School_ViewModel.SDomain),model.SDomain },
{nameof(RB_School_ViewModel.SLogo),model.SLogo },
{nameof(RB_School_ViewModel.Remark),model.Remark },
{nameof(RB_School_ViewModel.UpdateBy),model.UpdateBy },
{nameof(RB_School_ViewModel.UpdateTime),model.UpdateTime },
{nameof(RB_School_ViewModel.Status),model.Status },
{nameof(RB_School_ViewModel.Dept_Id),model.Dept_Id },
{nameof(RB_School_ViewModel.ManagerId),model.ManagerId },
{nameof(RB_School_ViewModel.ContractTitle),model.ContractTitle },
};
flag = schoolRepository.Update(fileds, new WhereHelper(nameof(RB_School_ViewModel.SId), model.SId));
}
else
{
var newId = schoolRepository.Insert(model);
model.SId = newId;
flag = newId > 0;
}
return flag;
}
///
/// 判断学校是否存在
///
///
///
public bool ExistsSchoolModule(RB_School_ViewModel query)
{
List wheres = new List()
{
new WhereHelper(nameof(RB_School_ViewModel.SName),query.SName.Trim()),
new WhereHelper(nameof(RB_School_ViewModel.Group_Id),query.Group_Id),
};
if (query.SId > 0)
{
wheres.Add(new WhereHelper(nameof(RB_School_ViewModel.SId), query.SId, OperatorEnum.NotEqual));
}
return schoolRepository.Exists(wheres);
}
///
/// 删除学校
///
/// 学校编号
///
public virtual bool RemoveSchoolModule(object SId)
{
bool flag;
Dictionary fileds = new Dictionary()
{
{nameof(RB_School_ViewModel.Status),(int)DateStateEnum.Delete },
};
flag = schoolRepository.Update(fileds, new WhereHelper(nameof(RB_School_ViewModel.SId), SId));
return flag;
}
///
/// 根据班次获取学校
///
/// 集团
/// 班次
///
public List GetSchoolListByFrequencyIds(int Group_Id, string FrequencyIds)
{
return schoolRepository.GetSchoolListByFrequencyIds(Group_Id, FrequencyIds);
}
}
}