public static bool HasPrivilegeRight(PrivilegeCode privilegeCode) { var key = privilegeCode.ToString() + "User"; var currentUser = WebHelper.GetCurrentUser().LoginName; return(ConfigurationManager.AppSettings[key].IndexOf(currentUser + ",", StringComparison.CurrentCultureIgnoreCase) >= 0); //var result = Auth.Client.AuthClientSDK.IsExistsFuntionAuth(privilegeCode.ToString()); //return result; //return true; }
/// <summary> /// 使用权限代码控制html元素显示 /// </summary> /// <param name="helper"></param> /// <param name="privilegeCode">权限代码</param> /// <param name="classSelector"> /// 完整的css class选择器 /// 该选择器将选中在没有权限时需要隐藏的html元素(应该尽量使用高权重的class选择器) /// </param> /// <exception cref="用户未登录的情况下会发生异常"></exception> /// <returns>css样式表</returns> /// <remarks>2013-09-25 黄波 创建</remarks> public static MvcHtmlString PrivilegeControl(this HtmlHelper helper, PrivilegeCode privilegeCode, params string[] classSelector) { var privilegeList = AdminAuthenticationBo.Instance.Current.PrivilegeList; var tag = new TagBuilder("style"); tag.MergeAttribute("type", "text/css"); if (privilegeList == null || privilegeList.FirstOrDefault(item => item.Code == privilegeCode.ToString()) == null) { tag.InnerHtml += "\r\n"; foreach (var selector in classSelector) { tag.InnerHtml += (selector + " {display:none !important;}\r\n"); } } return(MvcHtmlString.Create(tag.ToString(TagRenderMode.Normal))); }
public PrivilegeType(PrivilegeCode code, string label) { this.code = code; this.label = label; }
public async Task <IActionResult> ModifyPrivilegeCode(PrivilegeCodeValidate model, IFormFile file) { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(RedirectToAction("Login", "Accounts")); } var pri = this._context.Privileges.Where(w => w.PrivilegeID == model.PrivilegeID).FirstOrDefault(); if (pri == null) { ModelState.AddModelError("Error", "ไม่พบข้อมูลสิทธิพิเศษ"); } if (ModelState.IsValid) { if (model.valid) { if (model.PrivilegeCodes != null && model.PrivilegeCodes.Count() > 0) { foreach (var item in model.PrivilegeCodes) { item.PrivilegeID = model.PrivilegeID; item.EffectiveDate = DateUtil.ToDate(item.effDate); item.ExpiryDate = DateUtil.ToDate(item.expDate); item.Status = item.Status; item.MaxUse = item.MaxUse; item.Create_On = DateUtil.Now(); this._context.PrivilegeCodes.Add(item); } this._context.SaveChanges(); return(RedirectToAction("PrivilegeCode", new { result = 1, PrivilegeID = model.PrivilegeID })); } } else { if (file == null) { ModelState.AddModelError("Error", "ไม่พบข้อมูลไฟล์นำเข้า"); } else { model.PrivilegeCodes = new List <PrivilegeCode>(); model.PrivilegeCodeFails = new List <PrivilegeCodeFail>(); ModelState.Clear(); using (var memoryStream = new MemoryStream()) { await file.CopyToAsync(memoryStream).ConfigureAwait(false); using (var package = new ExcelPackage(memoryStream)) { var workbook = package.Workbook; var worksheet = workbook.Worksheets.First(); var rowCount = worksheet.Dimension?.Rows; var colCount = worksheet.Dimension?.Columns; if (rowCount.HasValue && colCount.HasValue) { for (int row = 2; row <= rowCount.Value; row++) { try { var cformat = worksheet.Cells["C" + row].Style.Numberformat.Format; var eformat = worksheet.Cells["D" + row].Style.Numberformat.Format; worksheet.Cells["C" + row].Style.Numberformat.Format = "dd/MM/yyyy HH:mm"; worksheet.Cells["D" + row].Style.Numberformat.Format = "dd/MM/yyyy HH:mm"; var code = worksheet.Cells["A" + row].Value != null ? worksheet.Cells["A" + row].Value.ToString() : ""; var maxuse = worksheet.Cells["B" + row].Value != null ? worksheet.Cells["B" + row].Value.ToString() : ""; var eff = worksheet.Cells["C" + row].Value != null ? worksheet.Cells["C" + row].Value : null; var exp = worksheet.Cells["D" + row].Value != null ? worksheet.Cells["D" + row].Value : null; var status = worksheet.Cells["E" + row].Value != null ? worksheet.Cells["E" + row].Value.ToString() : ""; var msg = new StringBuilder(); if (string.IsNullOrEmpty(code)) { msg.AppendLine("ไม่พบข้อมูล Code"); } else { var pricode = this._context.PrivilegeCodes.Where(w => w.Code == code).FirstOrDefault(); if (pricode != null) { msg.AppendLine("Code ซ้ำในระบบ"); } } var pcode = new PrivilegeCode(); pcode.PrivilegeID = pri.PrivilegeID; pcode.Code = code; pcode.MaxUse = NumUtil.ParseInteger(maxuse); if (pcode.MaxUse == 0) { pcode.MaxUse = 1; } if (!string.IsNullOrEmpty(cformat) && cformat[0].ToString().ToLower() == "m") { pcode.EffectiveDate = (DateTime)eff; } else { pcode.EffectiveDate = DateUtil.ToDate(eff.ToString()); } if (!string.IsNullOrEmpty(eformat) && eformat[0].ToString().ToLower() == "m") { pcode.ExpiryDate = (DateTime)exp; } else { pcode.ExpiryDate = DateUtil.ToDate(exp.ToString()); } if (eff != null) { if (pcode.EffectiveDate == null) { pcode.EffectiveDate = DateTime.FromOADate((double)NumUtil.ParseDecimal(eff)); } } if (exp != null) { if (pcode.ExpiryDate == null) { pcode.ExpiryDate = DateTime.FromOADate((double)NumUtil.ParseDecimal(exp)); } } pcode.effDate = DateUtil.ToDisplayDate(pcode.EffectiveDate); pcode.expDate = DateUtil.ToDisplayDate(pcode.ExpiryDate); pcode.Status = StatusType.InActive; if (status == "Y") { pcode.Status = StatusType.Active; } if (string.IsNullOrEmpty(msg.ToString())) { model.PrivilegeCodes.Add(pcode); } else { model.PrivilegeCodes.Clear(); var fail = new PrivilegeCodeFail(); fail.Code = code; fail.EffectiveDate = pcode.effDate; fail.ExpiryDate = pcode.expDate; fail.MaxUse = pcode.MaxUse; fail.message = msg.ToString(); fail.Status = pcode.Status.toStatusName(); fail.row = row; model.PrivilegeCodeFails.Add(fail); } } catch (Exception ex) { ModelState.AddModelError("Error", ex.Message); } } } else { ModelState.AddModelError("Error", "รูปแบบไฟล์ไม่ถูกต้องหรือไม่มีข้อมูล"); } } } } } } return(View("PrivilegeCode", model)); }
public async Task <JsonResult> ValidateCode(int?PrivilegeID, IFormFile excelfile) { if (!_loginServices.isInAdminRoles(this.GetRoles())) { return(Json(new { responseCode = "-403", responseDesc = "คุณไม่มีสิทธิ์เข้าถึงระบบ", })); } if (excelfile == null) { return(Json(new { responseCode = "-1", responseDesc = "ไม่พบข้อมูลไฟล์นำเข้า", })); } if (!PrivilegeID.HasValue || PrivilegeID == 0) { return(Json(new { responseCode = "-1", responseDesc = "ไม่พบข้อมูลสิทธิพิเศษ", })); } var pID = PrivilegeID; var pri = this._context.Privileges.Where(w => w.PrivilegeID == PrivilegeID).FirstOrDefault(); if (pri == null) { return(Json(new { responseCode = "-1", responseDesc = "ไม่พบข้อมูลสิทธิพิเศษ", })); } var codelist = new List <PrivilegeCode>(); using (var memoryStream = new MemoryStream()) { await excelfile.CopyToAsync(memoryStream).ConfigureAwait(false); using (var package = new ExcelPackage(memoryStream)) { var workbook = package.Workbook; var worksheet = workbook.Worksheets.First(); var rowCount = worksheet.Dimension?.Rows; var colCount = worksheet.Dimension?.Columns; if (rowCount.HasValue && colCount.HasValue) { for (int row = 2; row <= rowCount.Value; row++) { try { var cformat = worksheet.Cells["C" + row].Style.Numberformat.Format; var eformat = worksheet.Cells["D" + row].Style.Numberformat.Format; worksheet.Cells["C" + row].Style.Numberformat.Format = "dd/MM/yyyy HH:mm"; worksheet.Cells["D" + row].Style.Numberformat.Format = "dd/MM/yyyy HH:mm"; var code = worksheet.Cells["A" + row].Value != null ? worksheet.Cells["A" + row].Value.ToString() : ""; var maxuse = worksheet.Cells["B" + row].Value != null ? worksheet.Cells["B" + row].Value.ToString() : ""; var eff = worksheet.Cells["C" + row].Value != null ? worksheet.Cells["C" + row].Value : null; var exp = worksheet.Cells["D" + row].Value != null ? worksheet.Cells["D" + row].Value : null; var status = worksheet.Cells["E" + row].Value != null ? worksheet.Cells["E" + row].Value.ToString() : ""; var pcode = new PrivilegeCode(); pcode.PrivilegeID = pri.PrivilegeID; pcode.Code = code; pcode.MaxUse = NumUtil.ParseInteger(maxuse); if (pcode.MaxUse == 0) { pcode.MaxUse = null; } if (!string.IsNullOrEmpty(cformat) && cformat[0].ToString().ToLower() == "m") { pcode.EffectiveDate = (DateTime)eff; } else { pcode.EffectiveDate = DateUtil.ToDate(eff.ToString()); } if (!string.IsNullOrEmpty(eformat) && eformat[0].ToString().ToLower() == "m") { pcode.ExpiryDate = (DateTime)exp; } else { pcode.ExpiryDate = DateUtil.ToDate(exp.ToString()); } if (eff != null) { if (pcode.EffectiveDate == null) { pcode.EffectiveDate = DateTime.FromOADate((double)NumUtil.ParseDecimal(eff)); } } if (exp != null) { if (pcode.ExpiryDate == null) { pcode.ExpiryDate = DateTime.FromOADate((double)NumUtil.ParseDecimal(exp)); } } pcode.effDate = DateUtil.ToDisplayDate(pcode.EffectiveDate); pcode.expDate = DateUtil.ToDisplayDate(pcode.ExpiryDate); pcode.Status = StatusType.InActive; if (status == "Y") { pcode.Status = StatusType.Active; } codelist.Add(pcode); } catch (Exception ex) { } } } } } return(Json(new { responseCode = "1", responseDesc = "SUCCESS", data = codelist, })); }
/// <summary> /// 判断权限代码是否在权限列表中 /// </summary> /// <param name="privilegeList">权限列表</param> /// <param name="code">权限代码</param> /// <returns>bool</returns> /// <remarks>2013-8-19 杨浩 创建</remarks> public static bool HasPrivilege(this IList <SyPrivilege> privilegeList, PrivilegeCode code) { var hasAction = AdminAuthenticationBo.Instance.Current.PrivilegeList.Any(x => x.Code == code.ToString()); return(hasAction); }