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