public static PermissionRange GetPermissionRange(string permissionRange) { PermissionRange result = PermissionRange.All; switch (permissionRange) { case Constants.PERMISSION_RANGE_NONE: result = PermissionRange.None; break; case Constants.PERMISSION_RANGE_OWNER: result = PermissionRange.Owner; break; case Constants.PERMISSION_RANGE_GROUP: result = PermissionRange.Group; break; case Constants.PERMISSION_RANGE_DEPARTMENT: result = PermissionRange.Department; break; case Constants.PERMISSION_RANGE_OFFICE: result = PermissionRange.Office; break; case Constants.PERMISSION_RANGE_COMPANY: result = PermissionRange.Company; break; } return(result); }
public bool CheckAllowPermissionAction(int id, PermissionRange range) { var detail = DataContext.Get(x => x.Id == id)?.FirstOrDefault(); if (detail == null) { return(false); } BaseUpdateModel baseModel = new BaseUpdateModel { UserCreated = detail.UserCreated, CompanyId = detail.CompanyId, DepartmentId = detail.DepartmentId, OfficeId = detail.OfficeId, GroupId = detail.GroupId }; int code = PermissionExtention.GetPermissionCommonItem(baseModel, range, currentUser); if (code == 403) { return(false); } return(true); }
public bool CheckAllowPermissionAction(Guid id, PermissionRange range) { CatCharge charge = DataContext.Get(o => o.Id == id).FirstOrDefault(); if (charge == null) { return(false); } BaseUpdateModel baseModel = new BaseUpdateModel { UserCreated = charge.UserCreated, CompanyId = charge.CompanyId, DepartmentId = charge.DepartmentId, OfficeId = charge.OfficeId, GroupId = charge.GroupId }; int code = PermissionExtention.GetPermissionCommonItem(baseModel, range, currentUser); if (code == 403) { return(false); } return(true); }
public bool CheckAllowPermissionAction(Guid id, PermissionRange range) { var result = new TariffModel(); result.setTariff = GetTariffById(id); if (result.setTariff == null) { return(false); } BaseUpdateModel baseModel = new BaseUpdateModel { UserCreated = result.setTariff.UserCreated, CompanyId = result.setTariff.CompanyId, DepartmentId = result.setTariff.DepartmentId, OfficeId = result.setTariff.OfficeId, GroupId = result.setTariff.GroupId }; int code = PermissionExtention.GetPermissionCommonItem(baseModel, range, currentUser); if (code == 403) { return(false); } return(true); }
public static int GetPermissionToDelete(ModelUpdate model, PermissionRange permissionRange, ICurrentUser currentUser) { int code = 0; switch (permissionRange) { case PermissionRange.None: code = 403; break; case PermissionRange.Owner: if (model.PartnerGroup.Contains("CUSTOMER")) { if (model.Salemans.FindAll(x => x.SaleManId == currentUser.UserID).Count == 0 && model.UserCreator != currentUser.UserID) { code = 403; } } else { if (model.UserCreator != currentUser.UserID) { code = 403; } } break; case PermissionRange.Group: if (model.GroupId != currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId) { code = 403; } break; case PermissionRange.Department: if (model.DepartmentId != currentUser.DepartmentId) { code = 403; } break; case PermissionRange.Office: if (model.OfficeId != currentUser.OfficeID) { code = 403; } break; case PermissionRange.Company: if (model.CompanyId != currentUser.CompanyID) { code = 403; } break; } return(code); }
public static bool GetPermissionDetail(PermissionRange permissionRange, BaseUpdateModel model, ICurrentUser currentUser) { bool result = false; switch (permissionRange) { case PermissionRange.All: result = true; break; case PermissionRange.Owner: if (model.UserCreated == currentUser.UserID) { result = true; } break; case PermissionRange.Group: if (model.GroupId == currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID ) { result = true; } break; case PermissionRange.Department: if (model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { result = true; } break; case PermissionRange.Office: if (model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { result = true; } break; case PermissionRange.Company: if (model.CompanyId == currentUser.CompanyID) { result = true; } break; } return(result); }
public static int GetPermissionToDelete(ModelUpdate model, PermissionRange permissionRange, ICurrentUser currentUser) { int code = 403; switch (permissionRange) { case PermissionRange.All: code = 200; break; case PermissionRange.Owner: if (model.BillingOpsId == currentUser.UserID) { code = 200; } break; case PermissionRange.Group: if (model.GroupId == currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Department: if (model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Office: if (model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Company: if (model.CompanyId == currentUser.CompanyID) { code = 200; } break; } return(code); }
public IActionResult CheckAllowDelete(Guid id) { var charge = catChargeService.First(x => x.Id == id); if (charge == null) { return(Ok(false)); } ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.catCharge); PermissionRange permissionRange = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.Delete); return(Ok(catChargeService.CheckAllowPermissionAction(id, permissionRange))); }
public override bool CheckPermisstion() { if (this.Type == typeof(AuditOrder).Name) { return(true); } PermissionRange range = PermissionRange.Employee; if (FBBasePage.DictLessPermission.Keys.Contains(this.Type)) { range = FBBasePage.DictLessPermission[this.Type]; } int perm = PermissionHelper.GetPermissionValue(this.Type, Permissions.Browse); // 需要大于等公司的范围权限 return(!(perm > (int)range || perm < 0)); }
public IActionResult Update(CatChargeAddOrUpdateModel model) { ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.catCharge); PermissionRange permissionRange = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.Write); if (permissionRange == PermissionRange.None || !catChargeService.CheckAllowPermissionAction(model.Charge.Id, permissionRange)) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } if (!ModelState.IsValid) { return(BadRequest()); } var checkExistMessage = CheckExist(model.Charge.Id, model); if (checkExistMessage.Length > 0) { return(BadRequest(new ResultHandle { Status = false, Message = checkExistMessage })); } var hs = catChargeService.UpdateCharge(model); var message = HandleError.GetMessage(hs, Crud.Update); ResultHandle result = new ResultHandle { Status = hs.Success, Message = stringLocalizer[message].Value }; if (!hs.Success) { return(BadRequest(result)); } return(Ok(result)); }
public IActionResult Delete(Guid id) { ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.catCharge); PermissionRange permissionRange = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.Delete); if (!catChargeService.CheckAllowPermissionAction(id, permissionRange)) { return(BadRequest(new ResultHandle { Status = false, Message = stringLocalizer[LanguageSub.DO_NOT_HAVE_PERMISSION].Value })); } var hs = catChargeService.DeleteCharge(id); var message = HandleError.GetMessage(hs, Crud.Delete); ResultHandle result = new ResultHandle { Status = hs.Success, Message = stringLocalizer[message].Value }; if (!hs.Success) { return(BadRequest(result)); } return(Ok(result)); }
private bool GetPermissionDetail(PermissionRange permissionRangeWrite, List <CatSaleman> salemans, CatPartnerModel detail) { bool result = false; switch (permissionRangeWrite) { case PermissionRange.None: result = false; break; case PermissionRange.All: result = true; break; case PermissionRange.Owner: if (salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(detail.Id)) || detail.UserCreated == currentUser.UserID) { result = true; } else { result = false; } break; case PermissionRange.Group: if ((detail.GroupId == currentUser.GroupId && detail.DepartmentId == currentUser.DepartmentId && detail.OfficeId == currentUser.OfficeID && detail.CompanyId == currentUser.CompanyID || detail.UserCreated == currentUser.UserID) ) { result = true; } else { result = false; } break; case PermissionRange.Department: if ((detail.DepartmentId == currentUser.DepartmentId && detail.OfficeId == currentUser.OfficeID && detail.CompanyId == currentUser.CompanyID) || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(detail.Id)) || detail.UserCreated == currentUser.UserID) { result = true; } else { result = false; } break; case PermissionRange.Office: if ((detail.OfficeId == currentUser.OfficeID && detail.CompanyId == currentUser.CompanyID) || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(detail.Id)) || detail.UserCreated == currentUser.UserID) { result = true; } else { result = false; } break; case PermissionRange.Company: if (detail.CompanyId == currentUser.CompanyID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(detail.Id)) || detail.UserCreated == currentUser.UserID) { result = true; } else { result = false; } break; } return(result); }
private int GetPermissionToDelete(ModelUpdate model, PermissionRange permissionRange) { int code = PermissionEx.GetPermissionToDelete(model, permissionRange, currentUser); return(code); }
private int GetPermissionToUpdate(ModelUpdate model, PermissionRange permissionRange, int?flagDetail) { int code = PermissionEx.GetPermissionToUpdate(model, permissionRange, currentUser, flagDetail); return(code); }
public IQueryable <CatPartnerViewModel> Paging(CatPartnerCriteria criteria, int page, int size, out int rowsCount) { var data = QueryPaging(criteria); if (data == null) { rowsCount = 0; return(null); } var salemans = salemanRepository.Get().ToList(); ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.catPartnerdata);//Set default PermissionRange rangeSearch = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.List); switch (rangeSearch) { case PermissionRange.None: data = null; break; case PermissionRange.All: break; case PermissionRange.Owner: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) || x.UserCreated == currentUser.UserID).ToList(); } else { data = data.Where(x => x.UserCreated == currentUser.UserID).ToList(); } break; case PermissionRange.Group: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.GroupId == currentUser.GroupId && (x.DepartmentId == currentUser.DepartmentId) && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.GroupId == currentUser.GroupId && x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; case PermissionRange.Department: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.DepartmentId == currentUser.DepartmentId && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; case PermissionRange.Office: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; case PermissionRange.Company: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; } if (data == null) { rowsCount = 0; return(null); } rowsCount = data.Select(x => x.Id).Count(); IQueryable <CatPartnerViewModel> results = null; if (size > 1) { if (page < 1) { page = 1; } results = data.OrderByDescending(x => x.DatetimeModified).Skip((page - 1) * size).Take(size).AsQueryable(); } return(results); }
public IQueryable <CatPartnerViewModel> QueryExport(CatPartnerCriteria criteria) { var data = QueryPaging(criteria); if (data == null) { return(null); } var salemans = salemanRepository.Get().ToList(); ICurrentUser _user = PermissionExtention.GetUserMenuPermission(currentUser, Menu.catPartnerdata);//Set default PermissionRange rangeSearch = PermissionExtention.GetPermissionRange(_user.UserMenuPermission.List); switch (rangeSearch) { case PermissionRange.None: data = null; break; case PermissionRange.All: break; case PermissionRange.Owner: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) || x.UserCreated == currentUser.UserID).ToList(); } else { data = data.Where(x => x.UserCreated == currentUser.UserID).ToList(); } break; case PermissionRange.Group: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.GroupId == currentUser.GroupId && (x.DepartmentId == currentUser.DepartmentId) && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.GroupId == currentUser.GroupId && x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; case PermissionRange.Department: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.DepartmentId == currentUser.DepartmentId && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; case PermissionRange.Office: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; case PermissionRange.Company: if (criteria.PartnerGroup.ToString() == DataEnums.CustomerPartner || criteria.PartnerGroup == 0) { data = data.Where(x => (x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID || salemans.Any(y => y.SaleManId == currentUser.UserID && y.PartnerId.Equals(x.Id)) ).ToList(); } else { data = data.Where(x => (x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID ).ToList(); } break; } if (data == null) { return(null); } return(data.AsQueryable()); }
public IQueryable <CatChargeModel> QueryByPermission(CatChargeCriteria criteria, PermissionRange range) { IQueryable <CatChargeModel> data = null; var list = QueryCriteria(criteria); switch (range) { case PermissionRange.All: data = list; break; case PermissionRange.Owner: data = list.Where(x => x.UserCreated == currentUser.UserID && x.CompanyId == currentUser.CompanyID); break; case PermissionRange.Group: data = list.Where(x => (x.GroupId == currentUser.GroupId && x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID); break; case PermissionRange.Department: data = list.Where(x => (x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID); break; case PermissionRange.Office: data = list.Where(x => (x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID) || x.UserCreated == currentUser.UserID); break; case PermissionRange.Company: data = list.Where(x => x.CompanyId == currentUser.CompanyID || x.UserCreated == currentUser.UserID); break; default: break; } return(data); }
public static int GetPermissionToUpdateHbl(ModelUpdate model, PermissionRange permissionRange, ICurrentUser currentUser, List <string> authorizeUserIds) { int code = 403; switch (permissionRange) { case PermissionRange.All: code = 200; break; case PermissionRange.Owner: if (model.SaleManId == currentUser.UserID || authorizeUserIds.Contains(model.SaleManId) || model.UserCreated == currentUser.UserID) { code = 200; } break; case PermissionRange.Group: if ((model.GroupId == currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) || authorizeUserIds.Contains(model.SaleManId) || model.UserCreated == currentUser.UserID) { code = 200; } break; case PermissionRange.Department: if ((model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) || authorizeUserIds.Contains(model.SaleManId) || model.UserCreated == currentUser.UserID) { code = 200; } break; case PermissionRange.Office: if ((model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) || authorizeUserIds.Contains(model.SaleManId) || model.UserCreated == currentUser.UserID) { code = 200; } break; case PermissionRange.Company: if (model.CompanyId == currentUser.CompanyID || authorizeUserIds.Contains(model.SaleManId) || model.UserCreated == currentUser.UserID) { code = 200; } break; } return(code); }
public static int GetPermissionToDeleteShipmentDocumentation(ModelUpdate model, PermissionRange permissionRange, ICurrentUser currentUser) { int code = 403; switch (permissionRange) { case PermissionRange.All: code = 200; break; case PermissionRange.Owner: if (model.PersonInCharge == currentUser.UserID || model.UserCreated == currentUser.UserID) { code = 200; } break; case PermissionRange.Group: if (model.GroupId == currentUser.GroupId && model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Department: if (model.DepartmentId == currentUser.DepartmentId && model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Office: if (model.OfficeId == currentUser.OfficeID && model.CompanyId == currentUser.CompanyID) { code = 200; } break; case PermissionRange.Company: if (model.CompanyId == currentUser.CompanyID) { code = 200; } break; } return(code); }
public IQueryable <sp_GetCatPlace> QueryByPermission(CatPlaceCriteria criteria, PermissionRange range) { var list = QueryCriteria(criteria); if (list == null) { return(null); } IQueryable <sp_GetCatPlace> data = null; if (list == null) { return(null); } switch (range) { case PermissionRange.Owner: data = list.Where(x => x.UserCreated == currentUser.UserID); break; case PermissionRange.Group: data = list.Where(x => x.UserCreated == currentUser.UserID || x.GroupId == currentUser.GroupId && x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID); break; case PermissionRange.Department: data = list.Where(x => x.UserCreated == currentUser.UserID || x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID); break; case PermissionRange.Office: data = list.Where(x => x.UserCreated == currentUser.UserID || x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID); break; case PermissionRange.Company: data = list.Where(x => x.UserCreated == currentUser.UserID || x.CompanyId == currentUser.CompanyID); break; case PermissionRange.All: data = list; break; default: break; } return(data); }
private IQueryable <SetEcusConnectionModel> QueryPermission(SetEcusConnectionCriteria criteria, PermissionRange range) { var list = Query(criteria); IQueryable <SetEcusConnectionModel> data = null; if (list == null) { return(list); } switch (range) { case PermissionRange.Owner: data = list.Where(x => x.UserCreated == currentUser.UserID); break; case PermissionRange.Group: data = list.Where(x => x.UserCreated == currentUser.UserID || x.GroupId == currentUser.GroupId && x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID); break; case PermissionRange.Department: data = list.Where(x => x.UserCreated == currentUser.UserID || x.DepartmentId == currentUser.DepartmentId && x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID); break; case PermissionRange.Office: data = list.Where(x => x.UserCreated == currentUser.UserID || x.OfficeId == currentUser.OfficeID && x.CompanyId == currentUser.CompanyID); break; case PermissionRange.Company: data = list.Where(x => x.UserCreated == currentUser.UserID || x.CompanyId == currentUser.CompanyID); break; case PermissionRange.All: data = list; break; } return(data); }
private IQueryable <TariffViewModel> QueryPermission(TariffCriteria criteria, PermissionRange range) { var list = Query(criteria); if (list == null) { return(null); } IQueryable <TariffViewModel> data = null; switch (range) { case PermissionRange.Owner: data = list.Where(x => x.UserCreated == currentUser.UserID).AsQueryable(); break; case PermissionRange.Group: data = list.Where(x => x.UserCreated == currentUser.UserID || x.setTariff.GroupId == currentUser.GroupId && x.setTariff.DepartmentId == currentUser.DepartmentId && x.setTariff.OfficeId == currentUser.OfficeID && x.setTariff.CompanyId == currentUser.CompanyID).AsQueryable(); break; case PermissionRange.Department: data = list.Where(x => x.UserCreated == currentUser.UserID || x.setTariff.DepartmentId == currentUser.DepartmentId && x.setTariff.OfficeId == currentUser.OfficeID && x.setTariff.CompanyId == currentUser.CompanyID).AsQueryable(); break; case PermissionRange.Office: data = list.Where(x => x.UserCreated == currentUser.UserID || x.setTariff.OfficeId == currentUser.OfficeID && x.setTariff.CompanyId == currentUser.CompanyID).AsQueryable(); break; case PermissionRange.Company: data = list.Where(x => x.UserCreated == currentUser.UserID || x.setTariff.CompanyId == currentUser.CompanyID).AsQueryable(); break; case PermissionRange.All: data = list.AsQueryable(); break; default: break; } return(data); }