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}
};
}
}
}