using System; using System.Collections.Generic; using System.Text; using System.Data; using MySql.Data.MySqlClient; namespace RoadFlow.Data.ORACLE { public class UsersRelation : RoadFlow.Data.Interface.IUsersRelation { private DBHelper dbHelper = new DBHelper(); /// /// 构造函数 /// public UsersRelation() { } /// /// 添加记录 /// /// RoadFlow.Data.Model.UsersRelation实体类 /// 操作所影响的行数 public int Add(RoadFlow.Data.Model.UsersRelation model) { string sql = @"INSERT INTO UsersRelation (UserID,OrganizeID,IsMain,Sort) VALUES(@UserID,@OrganizeID,@IsMain,@Sort)"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = model.UserID }, new MySqlParameter("@OrganizeID", MySqlDbType.VarChar, 50){ Value = model.OrganizeID }, new MySqlParameter("@IsMain", MySqlDbType.Int32){ Value = model.IsMain }, new MySqlParameter("@Sort", MySqlDbType.Int32){ Value = model.Sort } }; return dbHelper.Execute(sql, parameters); } /// /// 更新记录 /// /// RoadFlow.Data.Model.UsersRelation实体类 public int Update(RoadFlow.Data.Model.UsersRelation model) { string sql = @"UPDATE UsersRelation SET IsMain=@IsMain,Sort=@Sort WHERE UserID=@UserID and OrganizeID=@OrganizeID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@IsMain", MySqlDbType.Int32){ Value = model.IsMain }, new MySqlParameter("@Sort", MySqlDbType.Int32){ Value = model.Sort }, new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = model.UserID }, new MySqlParameter("@OrganizeID", MySqlDbType.VarChar, 50){ Value = model.OrganizeID } }; return dbHelper.Execute(sql, parameters); } /// /// 删除记录 /// public int Delete(string userid, string organizeid) { string sql = "DELETE FROM UsersRelation WHERE UserID=@UserID AND OrganizeID=@OrganizeID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = userid }, new MySqlParameter("@OrganizeID", MySqlDbType.VarChar, 50){ Value = organizeid } }; return dbHelper.Execute(sql, parameters); } /// /// 将DataRedar转换为List /// private List DataReaderToList(DataTable dataReader) { List List = new List(); RoadFlow.Data.Model.UsersRelation model = null; for (int i = 0; i < dataReader.Rows.Count; i++) { model = new RoadFlow.Data.Model.UsersRelation(); model.UserID = dataReader.Rows[i][0] + ""; model.OrganizeID = dataReader.Rows[i][1] + ""; int.TryParse(dataReader.Rows[i][2] + "", out int n2); model.IsMain = n2; int.TryParse(dataReader.Rows[i][3] + "", out int n3); model.Sort = n3; List.Add(model); } return List; } /// /// 查询所有记录 /// public List GetAll() { string sql = "SELECT * FROM UsersRelation"; var dataReader = dbHelper.GetDataReader(sql); List List = DataReaderToList(dataReader); return List; } /// /// 查询记录数 /// public long GetCount() { string sql = "SELECT COUNT(*) FROM UsersRelation"; long count; return long.TryParse(dbHelper.GetFieldValue(sql), out count) ? count : 0; } /// /// 根据主键查询一条记录 /// public RoadFlow.Data.Model.UsersRelation Get(Guid userid, Guid organizeid) { string sql = "SELECT * FROM UsersRelation WHERE UserID=@UserID AND OrganizeID=@OrganizeID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = userid }, new MySqlParameter("@OrganizeID", MySqlDbType.VarChar, 50){ Value = organizeid } }; var dataReader = dbHelper.GetDataReader(sql, parameters); List List = DataReaderToList(dataReader); return List.Count > 0 ? List[0] : null; } /// /// 查询一个岗位下所有记录 /// public List GetAllByOrganizeID(string organizeID) { string sql = "SELECT * FROM UsersRelation WHERE OrganizeID=@OrganizeID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@OrganizeID", MySqlDbType.VarChar, 50){ Value = organizeID } }; var dataReader = dbHelper.GetDataReader(sql, parameters); List List = DataReaderToList(dataReader); return List; } /// /// 查询一个用户所有记录 /// public List GetAllByUserID(string userID) { string sql = "SELECT * FROM UsersRelation WHERE UserID=@UserID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = userID } }; var dataReader = dbHelper.GetDataReader(sql, parameters); List List = DataReaderToList(dataReader); return List; } /// /// 查询一个用户主要岗位 /// public RoadFlow.Data.Model.UsersRelation GetMainByUserID(string userID) { string sql = "SELECT * FROM UsersRelation WHERE UserID=@UserID AND IsMain=1"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = userID } }; var dataReader = dbHelper.GetDataReader(sql, parameters); List List = DataReaderToList(dataReader); return List.Count > 0 ? List[0] : null; } /// /// 删除一个用户记录 /// public int DeleteByUserID(Guid userID) { string sql = "DELETE FROM UsersRelation WHERE UserID=@UserID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = userID } }; return dbHelper.Execute(sql, parameters); } /// /// 删除一个用户的兼职记录 /// public int DeleteNotIsMainByUserID(Guid userID) { string sql = "DELETE FROM UsersRelation WHERE IsMain=0 AND UserID=@UserID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@UserID", MySqlDbType.VarChar, 50){ Value = userID } }; return dbHelper.Execute(sql, parameters); } /// /// 删除一个机构下所有记录 /// public int DeleteByOrganizeID(Guid organizeID) { string sql = "DELETE FROM UsersRelation WHERE OrganizeID=@OrganizeID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@OrganizeID", MySqlDbType.VarChar, 50){ Value = organizeID } }; return dbHelper.Execute(sql, parameters); } /// /// 得到最大排序值 /// /// public int GetMaxSort(Guid organizeID) { string sql = "SELECT ISNULL(MAX(Sort),0)+1 FROM UsersRelation WHERE OrganizeID=@OrganizeID"; MySqlParameter[] parameters = new MySqlParameter[]{ new MySqlParameter("@OrganizeID", MySqlDbType.VarChar, 50){ Value = organizeID } }; DBHelper dbHelper = new DBHelper(); string sort = dbHelper.GetFieldValue(sql, parameters); return sort.ToInt(); } } }