using System.Text; using YLErp.Enums; using YLErp.Model.Enum; using YLErp.Modules.StructureModule; namespace YLErp.Web { public class GlobalData { /// /// 获取所有角色是交易员的 /// public static List GetAllTrader() { var traders = UserBLL.GetUsersByPosition(); return GetListUserItem(traders); } /// /// 获取所有角色是交易员的名称 /// public static List GetAllTraderForName() { var traders = UserBLL.GetUsersByPosition(); return traders.Select(s => new SelectListItem { Text = s.Name, Value = s.LoginName }).ToList(); ; } public static List GetAllRole(UserInfo user, string roleName) { var roles = GetAllRoles(roleName); if (user.Roles.Any(r => r.Name == "权限管理员")) { return roles.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).ToList(); } return roles.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).Where(m => m.Text != "权限管理员").ToList(); } public static List GetAllRoles(string roleName) { var Roles = new List(); var cacheKey = string.Format("GetAllRoles_{0}", roleName); var model = Providers.MemoryCacheProvider.Default.Get>(cacheKey); if (model != null) { return model; } using (var cdb = new ErpBaseContext()) { Roles = cdb.Roles.Where(r => r.Name.Contains(roleName)).ToList(); Providers.MemoryCacheProvider.Default.Set(cacheKey, Roles, DateTime.Now.AddMinutes(5)); } return Roles; } public static List GetAccountPosts() { List selectListItems = new List(); selectListItems.Add(new SelectListItem { Text = string.Empty, Value = "0" }); foreach (var item in Enum.GetValues(typeof(AccountPostEnum))) { selectListItems.Add(new SelectListItem { Text = Enum.GetName(typeof(AccountPostEnum), item), Value = ((int)((AccountPostEnum)Enum.Parse(typeof(AccountPostEnum), item.ToString()))).ToString() }); } return selectListItems; } public static List GetListUserItem(List sysUsers) { return sysUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Id.ToString() }).ToList(); } public static List GetAllUser() { using (var cdb = new ErpBaseContext()) { return cdb.SystemUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Id + "" }).ToList(); } } public static List GetAllUser(int id) { var selectListItem = new List() { new SelectListItem { Text = "", Value = null } }; using (var cdb = new ErpBaseContext()) { if (id != 0) { var systemUserAll = UserBLL.GetNotChildrenSystemUsers(id); selectListItem.AddRange(systemUserAll.Select(s => new SelectListItem { Text = s.Name, Value = s.Id + "" }).ToList()); } else { selectListItem.AddRange(cdb.SystemUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Id + "" }).ToList()); } } return selectListItem; } public static List GetAllUserName() { using (var cdb = new ErpBaseContext()) { return cdb.SystemUsers.Select(s => new SelectListItem { Text = s.Name, Value = s.Name }).ToList(); } } /// /// 获取通用 /// public static List GetSelectItems(IEnumerable items, string defaultVal = "") { if (items is null) { throw new ArgumentNullException(nameof(items)); } var vals = (defaultVal ?? string.Empty).Split(','); return items.Select(r => new SelectListItem { Text = r, Value = r, Selected = vals.Contains(r) }).ToList(); } /// /// 获取结构类型 /// public static List GetTradeTypes(IEnumerable items, bool includeCustomTypes = false, string defaultVal = "") { if (items is null) { throw new ArgumentNullException(nameof(items)); } var vals = (defaultVal ?? string.Empty).Split(','); var list = items.Select(r => new SelectItem { Text = r, Value = r, Selected = vals.Contains(r) }).ToList(); if (includeCustomTypes) { var service = new StructureService(OptUserInfo.SystemUser); var dicItems = service.QueryStructureInfo(StructureRangeEnum.BALCK_TRADE).Concat( service.QueryStructureInfo(StructureRangeEnum.CUSTOM_TRADE)) .GroupBy(O => O.StructureName) .Select(O => new SelectItem() { Text = O.Key, Value = O.Key }) .ToList(); if (dicItems != null && dicItems.Any()) { list.AddRange(dicItems); } } return list; } public static List GetSelectItems(Dictionary items) { if (items is null) { throw new ArgumentNullException(nameof(items)); } return items.Select(r => new SelectListItem { Text = r.Key, Value = r.Value }).ToList(); } /// /// 获取optionhtml /// public static string GetOptions(IEnumerable data, bool isAddEmpty = false) { var sb = new StringBuilder(); if (isAddEmpty) { sb.AppendFormat(""); } foreach (var d in data) { sb.AppendFormat("", d); } return sb.ToString(); } public static string GetOptions(IEnumerable data) { var sb = new StringBuilder(); foreach (var d in data) { sb.AppendFormat("", d.Text, d.Value, d.Selected ? " selected" : ""); } return sb.ToString(); } public static string GetOptions(IEnumerable items) { if (items is null) { throw new ArgumentNullException(nameof(items)); } return string.Join(string.Empty, items.Select(n => $"")); } public static string GetOptions(IEnumerable> items) { if (items is null) { throw new ArgumentNullException(nameof(items)); } return string.Join(string.Empty, items.Select(n => $"")); } public static string GetOptionsWithSelect(IEnumerable items, IEnumerable selectedItems) { var strBuilder = new StringBuilder(); foreach (var item in items) { if (selectedItems != null && selectedItems.Contains(item)) { strBuilder.AppendFormat("", item); } else { strBuilder.AppendFormat("", item); } } return strBuilder.ToString(); } public static IList QiYongTypes() { return new List { new SelectListItem {Text = "启用", Value = "1"} , new SelectListItem {Text = "未用", Value = "0"} }; } public static IList DeparttypeListItems() { return new List { new SelectListItem {Text = "全部", Value = "", Selected = false}, new SelectListItem {Text = "部门", Value = "部门", Selected = false}, new SelectListItem {Text = "项目", Value = "项目", Selected = false}, }; } public static IList GetAllDepartements() { using (var con = new ErpBaseContext()) { var departementList = con.Departments.ToList(); return departementList.Select(d => new SelectListItem { Text = d.Name, Value = d.Id.ToString() }).ToList(); } } public static IList GetConfirmBookMode() { return new List { new SelectListItem { Value = "-1", Text = "全部" ,Selected=true}, new SelectListItem { Value = "单章版", Text = "单章版" }, new SelectListItem { Value = "双章版", Text = "双章版" } }; } public static IList GetYesList(bool defaultYes = true) { if (defaultYes) { return new List { new SelectListItem { Value = "1", Text = "是"}, new SelectListItem { Value = "0", Text = "否" } }; } else { return new List { new SelectListItem { Value = "1", Text = "是"}, new SelectListItem { Value = "0", Text = "否", Selected = true} }; } } public static IList GetBoolList(bool defaultYes = true, bool noSelect = false) { if (noSelect) { return new List { new SelectListItem { Value = "True", Text = "是" }, new SelectListItem { Value = "False", Text = "否" } }; } if (defaultYes) { return new List { new SelectListItem { Value = "True", Text = "是", Selected = true }, new SelectListItem { Value = "False", Text = "否" } }; } else { return new List { new SelectListItem { Value = "True", Text = "是"}, new SelectListItem { Value = "False", Text = "否", Selected = true } }; } } public static IList TradeStatusAfterConfirm() { var list= new List() { new SelectListItem {Value = ConsTrade.确认成交, Text = ConsTrade.确认成交 }, new SelectListItem {Value = ConsTrade.已到期, Text = ConsTrade.已到期 }, new SelectListItem {Value = ConsTrade.已执行, Text = ConsTrade.已执行 }, new SelectListItem {Value = ConsTrade.已平仓, Text = ConsTrade.已平仓 }, new SelectListItem { Value= ConsTrade.审批中, Text = ConsTrade.审批中 } }; return list; } public static IList AllCreditProcessStatus() { return new List() { new SelectListItem() { Text = "全部", Value = "全部" }, new SelectListItem() { Text = "未审批", Value = "未审批" }, new SelectListItem() { Text = "审批中", Value = "审批中" }, new SelectListItem() { Text = "已审批", Value = "已审批" }, new SelectListItem() { Text = "已拒绝", Value = "已拒绝" } }; } public static IList AllTimeUnits() { return new List() { new SelectListItem() { Text = "天", Value = "D" }, new SelectListItem() { Text = "周", Value = "W" }, new SelectListItem() { Text = "月", Value = "M" }, new SelectListItem() { Text = "年", Value = "Y" } }; } /// /// 自定义报送结构类型 /// /// public static IList GetCustomStructureTypeSm() { var list = new List(); var customStructureType = PS.Config.CustomStructureTypeSm; if (!string.IsNullOrWhiteSpace(customStructureType)) { var arrCustomStructureType = customStructureType.Split(';'); foreach (var arr in arrCustomStructureType) { var item = new SelectListItem(); var arrCustomStructureType2 = arr.Split(':'); if (arrCustomStructureType2.Length == 2) { item.Value = arrCustomStructureType2[0]; item.Text = arrCustomStructureType2[1]; } list.Add(item); } } return list; } public static IList GetQuoteSectionList(bool defaultYes = true) { if (defaultYes) { return new List { new SelectListItem { Value = "个股", Text = "个股"} }; } else { return new List { new SelectListItem { Value = "个股", Text = "个股", Selected = true} }; } } public static IList GetEntryExitDerictionList(bool defaultYes = true) { if (defaultYes) { return new List { new SelectListItem { Value = "出金", Text = "出金"} }; } else { return new List { new SelectListItem { Value = "出金", Text = "出金", Selected = true} }; } } public static IList GetSealResultItems() { return new List { new SelectListItem {Text = "成功", Value = "0", Selected = false}, new SelectListItem {Text = "失败", Value = "1", Selected = false}, new SelectListItem {Text = "尚未用印", Value = "2", Selected = false}, new SelectListItem {Text = "用印等待中", Value = "3", Selected = false} }; } } }