/// <summary> /// Validate request /// </summary> /// <param name="request"></param> /// <param name="response"></param> public void Validate(OrganizationPrivilegeRequest request, out OrganizationPrivilegeResponse response) { response = new OrganizationPrivilegeResponse(); if (request.Data.OrgID == 0) { errorFields.Add("Organization"); } 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 OrganizationPrivilegeHandler(_unitOfWork, _context).CreateOrEdit(request); } }
public JsonResult CreateOrganizationPrivilege() { OrganizationPrivilegeResponse response = new OrganizationPrivilegeResponse(); OrganizationPrivilegeModel _model = new OrganizationPrivilegeModel(); if (Request.Form["OrgId"] != null) { _model.OrgID = Convert.ToInt64(Request.Form["OrgId"].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 OrganizationPrivilegeRequest { Data = _model }; new OrganizationPrivilegeValidator(_unitOfWork, _context).Validate(request, out response); return(Json(new { Status = response.Status, Message = response.Message }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Create or edit organization privilege /// </summary> /// <param name="request"></param> /// <returns></returns> public OrganizationPrivilegeResponse CreateOrEdit(OrganizationPrivilegeRequest request) { OrganizationPrivilegeResponse response = new OrganizationPrivilegeResponse(); using (var transaction = _context.Database.BeginTransaction()) { try { var toberemove = _context.OrganizationPrivileges.Where(x => x.OrgID == request.Data.OrgID); _context.OrganizationPrivileges.RemoveRange(toberemove); _context.SaveChanges(); //insert new foreach (long _privId in request.Data.PrivilegeIDs) { var orgpprivilege = new OrganizationPrivilege { OrgID = request.Data.OrgID, PrivilegeID = _privId, CreatedBy = request.Data.Account.UserCode, CreatedDate = DateTime.Now }; _context.OrganizationPrivileges.Add(orgpprivilege); } int resultAffected = _context.SaveChanges(); transaction.Commit(); response.Message = Messages.DataSaved; } catch (Exception ex) { transaction.Rollback(); response.Status = false; response.Message = Messages.GeneralError; ErrorLog(ClinicEnums.Module.MASTER_ORGANIZATION_PRIVILEGE, ClinicEnums.Action.DELETE.ToString(), request.Data.Account, ex); } } return(response); }
/// <summary> /// Get list of organization privilege data /// </summary> /// <param name="request"></param> /// <returns></returns> public OrganizationPrivilegeResponse GetListData(OrganizationPrivilegeRequest request) { var qry = _unitOfWork.OrgPrivRepository.Get(x => x.OrgID == request.Data.OrgID && x.RowStatus == 0); OrganizationPrivilegeModel _model = new OrganizationPrivilegeModel(); if (qry.Count > 0) { _model.OrgID = qry.FirstOrDefault().OrgID; } foreach (var item in qry) { _model.PrivilegeIDs.Add(item.PrivilegeID); } var response = new OrganizationPrivilegeResponse { Entity = _model }; return(response); }
/// <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); }