/// <summary> /// 修改用户密码 /// </summary> /// <param name="name">用户名</param> /// <param name="newPassword">新密码</param> /// <returns>是否修改成功</returns> public static bool UpdateUserPassword(string name, string newPassword) { byte[] bytes = System.Text.Encoding.Default.GetBytes(newPassword); string strPassword = Convert.ToBase64String(bytes); bool isSucess = false; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <User> userList = new List <User>(); userList = (from p in context.Users where p.UserName == name select p).ToList <User>(); if (userList.Count > 0) { userList[0].UserName = name; userList[0].Password = strPassword; context.Users.ApplyCurrentValues(userList[0]); context.SaveChanges(); isSucess = true; } } catch (Exception ex) { isSucess = false; } } return(isSucess); }
/// <summary> /// 删除医院 /// </summary> /// <param name="hospitalID">医院ID</param> /// <returns>是否删除成功</returns> public bool DeleteHospitalByHospitalID(int hospitalID) { bool isSuccess = false; try { using (System.Transactions.TransactionScope transactionScope = new System.Transactions.TransactionScope()) { using (MedicalBaseEntities context = new MedicalBaseEntities()) { Hospital hospitalForDelete = (from p in context.Hospitals where p.ID == hospitalID select p).FirstOrDefault(); context.CascadingDeleteOnSubmit(hospitalForDelete); } transactionScope.Complete(); } isSuccess = true; } catch { isSuccess = false; } return(isSuccess); }
/// <summary> /// 用户是否登陆 /// </summary> /// <param name="userName">用户名</param> /// <param name="password">密码</param> /// <param name="hospitalName">所在医院</param> /// <returns>用户是否登陆</returns> public static bool IsLogon(string userName, string password, string hospitalName) { bool result = false; // 对密码进行加密 byte[] bytes = System.Text.Encoding.Default.GetBytes(password); string strPassword = Convert.ToBase64String(bytes); try { using (MedicalBaseEntities context = new MedicalBaseEntities()) { context.ContextOptions.LazyLoadingEnabled = true; List <User> userTable = new List <User>(); userTable = (from p in context.Users where (p.UserName.Trim() == userName.Trim() && p.Password.Trim() == strPassword.Trim() && p.Hospital.HospitalName.Trim() == hospitalName.Trim()) select p).ToList <User>(); if (userTable.Count > 0) { // Write log WriteLogLogin(userTable[0].ID, userTable[0].HospitalID, null); result = true; } context.ContextOptions.LazyLoadingEnabled = false; } } catch (Exception) { result = false; } return(result); }
/// <summary> /// 删除用户 /// </summary> /// <param name="ID">用户ID</param> /// <returns>是否删除成功</returns> public static bool DeleteUser(int ID) { bool isSuccess = false; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <User> userList = new List <User>(); userList = (from p in context.Users where p.ID == ID select p).ToList <User>(); if (userList != null && userList.Count > 0) { context.DeleteObject(userList[0]); context.SaveChanges(); // context.CascadingDeleteOnSubmit(user); } isSuccess = true; } catch { isSuccess = false; } } return(isSuccess); }
/// <summary> /// 删除医院 /// </summary> /// <param name="id">医院ID</param> /// <returns>是否删除成功</returns> public static bool DeleteHospital(int id) { bool isSuccess = false; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <Hospital> hospitalList = new List <Hospital>(); hospitalList = (from p in context.Hospitals where p.ID == id select p).ToList <Hospital>(); if (hospitalList.Count > 0) { context.DeleteObject(hospitalList[0]); context.SaveChanges(); isSuccess = true; } } catch { isSuccess = false; } } return(isSuccess); }
/// <summary> /// 获得医院的具体信息 /// </summary> /// <param name="name">医院名称</param> /// <returns>返回医院的具体信息</returns> public static Hospital GetHospital(string name) { if (string.IsNullOrEmpty(name)) { return(null); } Hospital hos = null; List <Hospital> hospitalList; using (MedicalBaseEntities context = new MedicalBaseEntities()) { hospitalList = new List <Hospital>(); hospitalList = (from p in context.Hospitals where p.HospitalName == name.Trim() select p).ToList <Hospital>(); } if (hospitalList.Count > 0) { hos = new Hospital(); hos = hospitalList[0]; } return(hos); }
/// <summary> /// 返回指定医院的所有用户 /// </summary> /// <param name="hospitalID">医院ID</param> /// <returns>返回医院所有的用户信息</returns> public static List <SiteUser> GetAllUserByHospitalID(int hospitalID) { List <User> userList = null; List <SiteUser> siteUserList = null; SiteUser siteUser = null; using (MedicalBaseEntities context = new MedicalBaseEntities()) { userList = new List <User>(); siteUserList = new List <SiteUser>(); userList = (from p in context.Users where p.HospitalID == hospitalID && p.RoleID == 3 select p).ToList <User>(); int order = 1; foreach (var item in userList) { siteUser = new SiteUser(); siteUser.ID = item.ID; siteUser.OrderID = order++; siteUser.UserName = item.UserName; siteUser.Hospital = item.Hospital; siteUser.Role = item.Role; siteUserList.Add(siteUser); } } return(siteUserList); }
/// <summary> /// 修改医院信息 /// </summary> /// <param name="name">医院名称</param> /// <param name="newHostpitalName">新医院名称</param> /// <param name="newDesciption">新医院描述</param> /// <returns>是否修改成功</returns> public static bool UpdateHospital(string name, string newHostpitalName, string newDesciption) { bool isSuccess = false; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <Hospital> hospitalList = new List <Hospital>(); hospitalList = (from p in context.Hospitals where p.HospitalName == name select p).ToList <Hospital>(); if (hospitalList.Count > 0) { hospitalList[0].Description = newDesciption; hospitalList[0].HospitalName = newHostpitalName; context.Hospitals.ApplyCurrentValues(hospitalList[0]); // context.Hospitals.AddObject(hospitalList[0]); context.SaveChanges(); isSuccess = true; } } catch { isSuccess = false; } } return(isSuccess); }
/// <summary> /// 通过区域名称获得相应的区域信息 /// </summary> /// <param name="regionName">区域名称</param> /// <returns>返回区域的具体信息</returns> public static Region GetRegionByShortName(string shortName) { if (shortName == null) { return(null); } Region region = null; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <Region> regionList = new List <Region>(); regionList = (from p in context.Regions select p).ToList <Region>(); region = regionList.Find(p => p.RegionShortName == shortName); } catch (Exception ex) { region = null; } } return(region); }
/// <summary> /// 清除所有日志信息 /// </summary> /// <returns>是否清除成功</returns> public bool ClearLogs() { bool isSuccess = false; try { using (System.Transactions.TransactionScope transactionScope = new System.Transactions.TransactionScope()) { using (MedicalBaseEntities context = new MedicalBaseEntities()) { foreach (var item in context.Log_Login) { context.DeleteObject(item); } context.SaveChanges(); } transactionScope.Complete(); } isSuccess = true; } catch { isSuccess = false; } return(isSuccess); }
/// <summary> /// 获得用户信息 /// </summary> /// <param name="ID">用户ID</param> /// <param name="message">出错信息</param> /// <returns>返回用户的基本信息</returns> public static SiteUser GetUser(int ID, ref string message) { List <User> userList = null; SiteUser siteUser = null; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { userList = new List <User>(); userList = (from p in context.Users where p.ID == ID select p).ToList <User>(); int order = 1; foreach (var item in userList) { siteUser = new SiteUser(); siteUser.ID = item.ID; siteUser.OrderID = order++; siteUser.UserName = item.UserName; siteUser.Hospital = item.Hospital; siteUser.Role = item.Role; } } catch (Exception ex) { message = ex.Message.ToString(); } } return(siteUser); }
/// <summary> /// 获得用户信息 /// </summary> /// <param name="name">用户名</param> /// <param name="message">出错信息</param> /// <returns>返回用户的基本信息</returns> public static SiteUser GetUser(string name, ref string message) { List <User> userList = null; SiteUser siteUser = null; using (MedicalBaseEntities context = new MedicalBaseEntities()) { userList = new List <User>(); userList = (from p in context.Users where p.UserName.Trim() == name select p).ToList <User>(); int order = 1; foreach (var item in userList) { siteUser = new SiteUser(); siteUser.ID = item.ID; siteUser.OrderID = order++; siteUser.UserName = item.UserName; siteUser.Hospital = item.Hospital; siteUser.Role = item.Role; } } return(siteUser); }
/// <summary> /// 获得管理员的信息 /// </summary> /// <param name="userID">用户ID</param> /// <param name="context">元数据</param> /// <returns>返回管理员的信息</returns> private static User GetAdminByUseID(int userID, MedicalBaseEntities context) { User user = (from p in context.Users where p.Role.RoleName == "管理员" && p.ID == userID select p).FirstOrDefault(); return(user); }
/// <summary> /// 获得所有医院 /// </summary> /// <returns>返回所有医院</returns> private static List <Hospital> GetAllHospital() { using (MedicalBaseEntities context = new MedicalBaseEntities()) { List <Hospital> hospital = (from p in context.Hospitals select p).ToList <Hospital>(); return(hospital); } return(null); }
/// <summary> /// 获得所属医院的登陆信息 /// </summary> /// <param name="hospitalID">医院ID</param> /// <returns>返回所有登陆信息</returns> public static List <Log_Login> GetLogLogin(int hospitalID) { using (MedicalBaseEntities context = new MedicalBaseEntities()) { List <Log_Login> loginList = (from p in context.Log_Login where p.HospitalID == hospitalID select p).ToList <Log_Login>(); return(loginList); } }
/// <summary> /// 用户管理类的构造器 /// </summary> /// <param name="userName">用户名</param> /// <param name="password">密码</param> public SiteManagement(string userName, string password) { using (MedicalBaseEntities context = new MedicalBaseEntities()) { userTable = new List <User>(); userTable = (from p in context.Users where (p.UserName == userName && p.Password == password) select p).ToList <User>(); userRole = userTable.FirstOrDefault().Role; } }
/// <summary> /// 获取和登录医生同一医院的医生登记的病例 /// </summary> /// <param name="patientName">患者姓名</param> /// <param name="userID">管理员ID</param> /// <returns>返回登录医生同一医院的医生登记的所有病例</returns> public List <MedicalReportSource> GetReportSummationByPatientName(string patientName, int userID, bool isSa) { List <MedicalReportSource> medicalReportResourceList = new List <MedicalReportSource>(); try { using (MedicalBaseEntities context = new MedicalBaseEntities()) { Report_Summation[] reportSummationList; User user = GetAdminByUseID(userID, context); if (user != null) { reportSummationList = (from p in context.Report_Summation where p.Person.Name.Contains(patientName.Trim()) orderby p.LastUpdateDate descending select p).ToArray <Report_Summation>(); } else { // 获取和登录医生同一医院的医生登记的病例 var hospitalIDList = (from p in context.Users where p.ID == userID select p.HospitalID); List <int> userIDList = (from p in context.Users where hospitalIDList.Contains(p.Hospital.ID) select p.ID).ToList(); if (isSa) { reportSummationList = (from p in context.Report_Summation where p.Person.Name.Trim().Contains(patientName.Trim()) orderby p.LastUpdateDate descending select p).ToArray <Report_Summation>(); } else { reportSummationList = (from p in context.Report_Summation where p.Person.Name.Contains(patientName.Trim()) && userIDList.Contains(p.UserID) orderby p.LastUpdateDate descending select p).ToArray <Report_Summation>(); } } medicalReportResourceList = SetMedicalReportSource(reportSummationList); } } catch (Exception) { throw; } return(medicalReportResourceList); }
/// <summary> /// 获得患者的所有信息--系统管理管理员级别 /// </summary> /// <param name="userID">医生ID</param> /// <returns>所有患者信息</returns> public List <MedicalReportSource> GetAllReportSummationByUserID(int userID) { List <MedicalReportSource> medicalReportResourceList = new List <MedicalReportSource>(); try { using (MedicalBaseEntities context = new MedicalBaseEntities()) { context.ContextOptions.LazyLoadingEnabled = true; Report_Summation[] reportSummationList = null; User user = (from p in context.Users where p.ID == userID select p).FirstOrDefault(); if (user != null) { if (user.Role.RoleName == "超级管理员") { reportSummationList = (from p in context.Report_Summation where (p.IsSubmit != null) orderby p.ID descending select p).ToArray <Report_Summation>(); } else if (user.Role.RoleName == "管理员") { int adminHospitalID = user.HospitalID; reportSummationList = (from p in context.Report_Summation where adminHospitalID == p.HospitalID && (p.IsSubmit != null) orderby p.ID descending select p).ToArray <Report_Summation>(); } else { reportSummationList = (from p in context.Report_Summation where p.UserID == userID orderby p.ID descending select p).ToArray <Report_Summation>(); } } medicalReportResourceList = SetMedicalReportSource(reportSummationList); } } catch (Exception e) { throw; } return(medicalReportResourceList); }
/// <summary> /// 创建一家医院 /// </summary> /// <param name="name">医院名称</param> /// <param name="RegionName">医院所在区域</param> /// <param name="desciption">医院描述</param> /// <param name="message">相关信息</param> /// <returns>是否创建成功</returns> public static bool CreateHospital(string name, string RegionName, string desciption, out string message) { message = string.Empty; bool isSuccess = false; if (string.IsNullOrWhiteSpace(RegionName)) { return(false); } using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <Hospital> hospitalList = new List <Hospital>(); hospitalList = (from p in context.Hospitals select p).ToList <Hospital>(); var hos = SiteManagement.GetHospital(name); if (hos == null) { Region region = GetRegion(RegionName); if (region == null) { return(false); } var newHospital = new Hospital(); newHospital.Description = desciption; newHospital.HospitalName = name; newHospital.RegionID = region.ID; // context.Hospitals.ApplyCurrentValues(newHospital); context.Hospitals.AddObject(newHospital); context.SaveChanges(); isSuccess = true; } else { isSuccess = false; } } catch (Exception ex) { // 出错信息返回 message = ex.Message.ToString(); isSuccess = false; } } return(isSuccess); }
/// <summary> /// 批量修改模板 /// </summary> /// <typeparam name="T">数据类型</typeparam> /// <param name="context">元数据</param> /// <param name="TEntity">具体类型</param> public static void CascadingDeleteOnSubmit <T>(this MedicalBaseEntities context, T TEntity) where T : class { if (context.Connection.State == ConnectionState.Closed) { context.Connection.Open(); } var entityType = TEntity.GetType(); var entityProperties = TEntity.GetType().GetProperties(); var associationProperties = entityProperties.Where( c => c.PropertyType.BaseType.Name == "RelatedEnd"); if (associationProperties.Count() != 0) { foreach (var _asso in associationProperties) { var _items = _asso.GetValue(TEntity, null); IEnumerable enumerable = (IEnumerable)_items; List <object> list = new List <object>(); foreach (var o in enumerable) { list.Add(o); } for (int i = 0; i < list.Count; i++) { object o = list[i]; CascadingDeleteOnSubmit(context, o); } } } try { var entityKeyObject = TEntity.GetType().GetProperty("EntityKey").GetValue(TEntity, null); var entityContainerName = entityKeyObject.GetType().GetProperty("EntityContainerName").GetValue(entityKeyObject, null); var entityKeyName = entityKeyObject.GetType().GetProperty("EntitySetName").GetValue(entityKeyObject, null); System.Data.EntityKeyMember[] KeyMembers = (System.Data.EntityKeyMember[])entityKeyObject.GetType().GetProperty("EntityKeyValues").GetValue(entityKeyObject, null); IEnumerable <KeyValuePair <string, object> > entityKeyValues = new KeyValuePair <string, object>[] { new KeyValuePair <string, object>(KeyMembers[0].Key, KeyMembers[0].Value) }; string EntityKeyName = entityContainerName + "." + entityKeyName; EntityKey key = new EntityKey(EntityKeyName, entityKeyValues); var forDelete = context.GetObjectByKey(key); context.DeleteObject(forDelete); context.SaveChanges(); } catch (Exception ex) { throw ex; } }
/// <summary> /// 获得所有医院数目 /// </summary> /// <returns>返回所有医院数目</returns> public static int GetTotalHospitalRecord() { using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <Hospital> hospitalList = new List <Hospital>(); hospitalList = (from p in context.Hospitals select p).ToList <Hospital>(); return(hospitalList.Count); } catch (Exception ex) { return(-1); } } }
/// <summary> /// 登陆信息写入日志 /// </summary> /// <param name="userID">用户ID</param> /// <param name="hospitalID">医院ID</param> /// <param name="detail">详细登陆信息</param> public static void WriteLogLogin(int userID, int hospitalID, string detail) { using (MedicalBaseEntities context = new MedicalBaseEntities()) { List <Log_Login> loginList = new List <Log_Login>(); loginList = (from p in context.Log_Login select p).ToList <Log_Login>(); var login = new Log_Login(); login.LoginDate = System.DateTime.UtcNow; login.UserID = userID; login.HospitalID = hospitalID; login.Detail = detail; context.Log_Login.AddObject(login); context.SaveChanges(); } }
/// <summary> /// 获得所有区域 /// </summary> /// <returns>返回所有区域信息</returns> public static List <Region> GetRegion() { List <Region> regionList; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { regionList = new List <Region>(); regionList = (from p in context.Regions select p).ToList <Region>(); } catch (Exception ex) { regionList = null; } } return(regionList); }
/// <summary> /// 获得患者基本信息 /// </summary> /// <param name="personName">患者的名字</param> /// <returns>返回患者基本信息</returns> public List <Report_Summation> GetReportSummationByPersonName(string personName) { List <Report_Summation> reportSummationList = new List <Report_Summation>(); try { using (MedicalBaseEntities context = new MedicalBaseEntities()) { reportSummationList = (from p in context.Report_Summation where p.Person.Name == personName select p).ToList(); } } catch (Exception) { throw; } return(reportSummationList); }
/// <summary> /// 删除患者病例信息 /// </summary> /// <param name="reportIDList">病例列表</param> /// <returns>返回是否删除成功</returns> public bool RemoveReportSummationByReportID(string[] reportIDList) { bool isSucceed = false; try { using (System.Transactions.TransactionScope transactionScope = new System.Transactions.TransactionScope()) { using (MedicalBaseEntities context = new MedicalBaseEntities()) { foreach (var item in reportIDList) { int reportID = 0; try { reportID = Int32.Parse(item); } catch { return(false); } // 获得待删除的信息 Report_Summation reportToDelete = (from p in context.Report_Summation where p.ID == reportID select p).FirstOrDefault(); if (reportToDelete != null) { context.Report_Summation.DeleteObject(reportToDelete); context.SaveChanges(); } } } isSucceed = true; transactionScope.Complete(); } } catch (Exception) { isSucceed = false; } return(isSucceed); }
/// <summary> /// 通过区域ID获得相应的区域信息 /// </summary> /// <param name="regionID">区域ID</param> /// <returns>返回区域的具体信息<</returns> public static Region GetRegionByID(int regionID) { Region region = null; using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <Region> regionList = new List <Region>(); regionList = (from p in context.Regions select p).ToList <Region>(); region = regionList.Find(p => p.ID == regionID); } catch (Exception ex) { region = null; } } return(region); }
/// <summary> /// 获得医院的具体信息 /// </summary> /// <param name="ID">医院ID</param> /// <returns>返回医院的具体信息</returns> public static Hospital GetHospital(uint ID) { Hospital hos = null; List <Hospital> hospitalList; using (MedicalBaseEntities context = new MedicalBaseEntities()) { hospitalList = new List <Hospital>(); hospitalList = (from p in context.Hospitals where p.ID == ID select p).ToList <Hospital>(); } if (hospitalList.Count > 0) { hos = new Hospital(); hos = hospitalList[0]; } return(hos); }
/// <summary> /// 修改医院信息 /// </summary> /// <param name="name">医院名称</param> /// <param name="newHostpitalName">新医院名称</param> /// <param name="newDesciption">新医院描述</param> /// <param name="message">返回信息</param> /// <returns>是否修改成功</returns> public static bool UpdateHospital(string name, string newHostpitalName, string newDesciption, out string message) { bool isSuccess = false; message = string.Empty; Hospital hos = GetHospital(newHostpitalName); if (hos != null) { message = "此医院: " + newDesciption + " 已经存在!"; return(false); } using (MedicalBaseEntities context = new MedicalBaseEntities()) { try { List <Hospital> hospitalList = new List <Hospital>(); hospitalList = (from p in context.Hospitals where p.HospitalName == name select p).ToList <Hospital>(); if (hospitalList.Count > 0) { hospitalList[0].Description = newDesciption; hospitalList[0].HospitalName = newHostpitalName; context.Hospitals.ApplyCurrentValues(hospitalList[0]); // context.Hospitals.AddObject(hospitalList[0]); context.SaveChanges(); isSuccess = true; } } catch (Exception ex) { message = "Error: " + ex.Message.ToString(); isSuccess = false; } } return(isSuccess); }
/// <summary> /// 获得患者的所有信息 /// </summary> /// <returns>返回患者的所有信息</returns> public List <MedicalReportSource> GetAllReportSummations() { List <MedicalReportSource> medicalReportResourceList = new List <MedicalReportSource>(); try { using (MedicalBaseEntities context = new MedicalBaseEntities()) { context.ContextOptions.LazyLoadingEnabled = true; Report_Summation[] reportSummationList = (from p in context.Report_Summation orderby p.LastUpdateDate descending select p).ToArray <Report_Summation>(); medicalReportResourceList = SetMedicalReportSource(reportSummationList); } } catch (Exception e) { throw; } return(medicalReportResourceList); }
/// <summary> /// 获得患者的所有信息--管理员级别 /// </summary> /// <param name="userID">医生ID</param> /// <returns>返回所有患者信息</returns> public List <MedicalReportSource> GetAllReportSummationByUser(int userID) { List <MedicalReportSource> medicalReportResourceList = new List <MedicalReportSource>(); try { using (MedicalBaseEntities context = new MedicalBaseEntities()) { context.ContextOptions.LazyLoadingEnabled = true; Report_Summation[] reportSummationList = null; User user = (from p in context.Users where p.Role.RoleName == "管理员" && p.ID == userID select p).FirstOrDefault(); if (user != null) { reportSummationList = (from p in context.Report_Summation orderby p.LastUpdateDate descending select p).ToArray <Report_Summation>(); } else { reportSummationList = (from p in context.Report_Summation where p.UserID == userID orderby p.LastUpdateDate descending select p).ToArray <Report_Summation>(); } medicalReportResourceList = SetMedicalReportSource(reportSummationList); } } catch (Exception e) { throw; } return(medicalReportResourceList); }