public ActionResult GetRolePrivilegeData(string roleid) { var _draw = Request.Form.GetValues("draw").FirstOrDefault(); var _start = Request.Form.GetValues("start").FirstOrDefault(); var _length = Request.Form.GetValues("length").FirstOrDefault(); var _sortColumn = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault(); var _sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault(); var _searchValue = Request.Form.GetValues("search[value]").FirstOrDefault(); int _pageSize = _length != null?Convert.ToInt32(_length) : 0; int _skip = _start != null?Convert.ToInt32(_start) : 0; var _model = new RolePrivilegeModel { RoleID = long.Parse(roleid) }; var request = new RolePrivilegeRequest { Draw = _draw, SearchValue = _searchValue, SortColumn = _sortColumn, SortColumnDir = _sortColumnDir, PageSize = _pageSize, Skip = _skip, Data = _model }; var response = new RolePrivilegeHandler(_unitOfWork, _context).GetPrivilegeBasedOnOrganization(request); return(Json(new { data = response.Data, recordsFiltered = response.RecordsFiltered, recordsTotal = response.RecordsTotal, draw = response.Draw }, JsonRequestBehavior.AllowGet)); }
public JsonResult CreateRolePrivilege() { RolePrivilegeResponse response = new RolePrivilegeResponse(); RolePrivilegeModel _model = new RolePrivilegeModel(); if (Request.Form["RoleId"] != null) { _model.RoleID = Convert.ToInt64(Request.Form["RoleId"].ToString()); } if (Request.Form["Privileges"] != null) { _model.PrivilegeIDs = JsonConvert.DeserializeObject <List <long> >(Request.Form["Privileges"]); } if (Session["UserLogon"] != null) { _model.Account = (AccountModel)Session["UserLogon"]; } var request = new RolePrivilegeRequest { Data = _model }; new RolePrivilegeValidator(_unitOfWork, _context).Validate(request, out response); return(Json(new { Status = response.Status, Message = response.Message }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Create or edit /// </summary> /// <param name="request"></param> /// <returns></returns> public RolePrivilegeResponse CreateOrEdit(RolePrivilegeRequest request) { RolePrivilegeResponse response = new RolePrivilegeResponse(); using (var transaction = _context.Database.BeginTransaction()) { try { var toberemove = _context.RolePrivileges.Where(x => x.RoleID == request.Data.RoleID); _context.RolePrivileges.RemoveRange(toberemove); _context.SaveChanges(); //insert new foreach (long _privid in request.Data.PrivilegeIDs) { var rolepprivilege = new RolePrivilege { RoleID = request.Data.RoleID, PrivilegeID = _privid, CreatedBy = request.Data.Account.UserCode, CreatedDate = DateTime.Now }; _context.RolePrivileges.Add(rolepprivilege); } int resultAffected = _context.SaveChanges(); transaction.Commit(); response.Status = true; response.Message = Messages.DataSaved; } catch (Exception ex) { transaction.Rollback(); response.Status = false; response.Message = Messages.GeneralError; ErrorLog(ClinicEnums.Module.MASTER_ROLE_PRIVILEGE, ClinicEnums.Action.DELETE.ToString(), request.Data.Account, ex); } } return(response); }
/// <summary> /// Get list of role privilege data /// </summary> /// <param name="request"></param> /// <returns></returns> public RolePrivilegeResponse GetListData(RolePrivilegeRequest request) { var qry = _unitOfWork.RolePrivRepository.Get(x => x.RoleID == request.Data.RoleID && x.RowStatus == 0); RolePrivilegeModel _model = new RolePrivilegeModel(); if (qry.Count > 0) { _model.RoleID = qry.FirstOrDefault().RoleID; } foreach (var item in qry) { _model.PrivilegeIDs.Add(item.PrivilegeID); } var response = new RolePrivilegeResponse { Entity = _model }; return(response); }
/// <summary> /// Validate request /// </summary> /// <param name="request"></param> /// <param name="response"></param> public void Validate(RolePrivilegeRequest request, out RolePrivilegeResponse response) { response = new RolePrivilegeResponse(); if (request.Data.RoleID == 0) { errorFields.Add("Role"); } if (request.Data.PrivilegeIDs.Count == 0) { errorFields.Add("Privileges"); } if (errorFields.Any()) { response.Status = false; response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields)); } if (response.Status) { response = new RolePrivilegeHandler(_unitOfWork, _context).CreateOrEdit(request); } }
public ActionResult RolePrivilegeList() { RolePrivilegeModel rpmodel = new RolePrivilegeModel(); if (Request.QueryString["roleid"] != null) { var reqOrg = new RoleRequest { Data = new RoleModel { Id = Convert.ToInt64(Request.QueryString["roleid"].ToString()) } }; var respOrg = new RoleResponse(); respOrg = new RoleHandler(_unitOfWork).GetDetail(reqOrg); rpmodel.RoleDesc = respOrg.Entity.RoleName; rpmodel.RoleID = respOrg.Entity.Id; var _request = new RolePrivilegeRequest { Data = new RolePrivilegeModel { RoleID = Convert.ToInt64(Request.QueryString["roleid"].ToString()) } }; //get Privilege Ids for organization var selPrivileges = new RolePrivilegeHandler(_unitOfWork, _context).GetListData(_request); if (selPrivileges.Entity.PrivilegeIDs != null && selPrivileges.Entity.PrivilegeIDs.Count > 0) { rpmodel.PrivilegeIDs = selPrivileges.Entity.PrivilegeIDs; } } return(View(rpmodel)); }
/// <summary> /// Get privilege based on organization /// </summary> /// <param name="request"></param> /// <returns></returns> public OrganizationPrivilegeResponse GetPrivilegeBasedOnOrganization(RolePrivilegeRequest request) { var _orgId = _unitOfWork.RoleRepository.GetById(request.Data.RoleID) == null ? 0 : _unitOfWork.RoleRepository.GetById(request.Data.RoleID).OrgID; List <OrganizationPrivilegeModel> lists = new List <OrganizationPrivilegeModel>(); dynamic qry = null; var searchPredicate = PredicateBuilder.New <OrganizationPrivilege>(true); searchPredicate = searchPredicate.And(x => x.OrgID == _orgId); if (!String.IsNullOrEmpty(request.SearchValue) && !String.IsNullOrWhiteSpace(request.SearchValue)) { searchPredicate = searchPredicate.And(p => p.Privilege.Privilege_Name.Contains(request.SearchValue) || p.Privilege.Privilege_Desc.Contains(request.SearchValue)); } if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir))) { if (request.SortColumnDir == "asc") { switch (request.SortColumn.ToLower()) { case "privilevename": qry = _unitOfWork.OrgPrivRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.Privilege.Privilege_Name)); break; default: qry = _unitOfWork.OrgPrivRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.ID)); break; } } else { switch (request.SortColumn.ToLower()) { case "privilevename": qry = _unitOfWork.OrgPrivRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.Privilege.Privilege_Name)); break; default: qry = _unitOfWork.OrgPrivRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.ID)); break; } } } else { qry = _unitOfWork.OrgPrivRepository.Get(searchPredicate, null); } foreach (var item in qry) { var prData = Mapper.Map <OrganizationPrivilege, OrganizationPrivilegeModel>(item); lists.Add(prData); } int totalRequest = lists.Count(); var data = lists.Skip(request.Skip).Take(request.PageSize).ToList(); var response = new OrganizationPrivilegeResponse { Draw = request.Draw, RecordsFiltered = totalRequest, RecordsTotal = totalRequest, Data = data }; return(response); }