public BaseReferenceDataHub( IHubEventBase eventBase, ILogger logger, ReferenceDataTypes referenceDataType) { _eventBase = eventBase; _logger = logger; _referenceDataType = referenceDataType; }
public static bool AnyConnectionIds(ReferenceDataTypes type) { lock (LockObject) { var found = ReferenceDataConnectedIds.TryGetValue(type, out var connectionIds); return(found && connectionIds.Any()); } }
public static void RemoveConnectionId(ReferenceDataTypes type, string connectionId) { lock (LockObject) { if (ReferenceDataConnectedIds.ContainsKey(type)) { ReferenceDataConnectedIds[type].Remove(connectionId); } } }
protected List <SelectListItem> PopulateSelectListItems(ReferenceDataTypes refDataType, int?userSelectedValue, dynamic items) { var selectListItems = new List <SelectListItem>(); foreach (var i in items) { selectListItems.Add(new SelectListItem(i.Name, i.ID.ToString(), userSelectedValue == i.ID ? true : false)); } selectListItems = selectListItems.OrderBy(x => x.Text).ToList(); selectListItems.Insert(0, new SelectListItem("Please choose one", "", false, false)); return(selectListItems); }
public static void AddConnectionId(ReferenceDataTypes type, string connectionId) { lock (LockObject) { var found = ReferenceDataConnectedIds.TryGetValue(type, out var connectionIds); if (!found) { connectionIds = new HashSet <string>(); ReferenceDataConnectedIds.Add(type, connectionIds); } connectionIds.Add(connectionId); } }
public IViewComponentResult Invoke(ReferenceDataTypes refDataType, List <WhereClauseDTO> selectionCriteria, string elementName, string htmlClasses, int?userSelectedValue, bool required = false, bool disabled = false) { var userSelectedVals = userSelectedValue == null ? new List <int>() : new List <int>() { (int)userSelectedValue }; return(View("Default", new SelectBoxDisplayViewModel() { ElementName = elementName, SelectListItems = PopulateSelectListItems(refDataType, userSelectedValue, _refDataService.FetchItemsList(refDataType, selectionCriteria, userSelectedVals)), HtmlAttributes = SetHtmlAttributes(htmlClasses, required, disabled), UserSelectedValue = userSelectedValue })); }
public ReferenceDataListViewModel GetReferenceData(ReferenceDataTypes type) { try { var referenceData = _referenceDataService.Get(type); var referenceDataViewModel = referenceData.Select(m => _referenceDataDomainToViewModelMapper.ConvertToViewModel(m)); IEnumerable <ReferenceDataViewModel> referenceDataViewModels = referenceDataViewModel as IList <ReferenceDataViewModel> ?? referenceDataViewModel.ToList(); if (!referenceDataViewModels.IsNullOrEmpty()) { return(new ReferenceDataListViewModel(referenceDataViewModels)); } return(new ReferenceDataListViewModel()); } catch (System.Exception) { //todo: log error using preferred logging mechanism return(new ReferenceDataListViewModel()); } }
public dynamic FetchItemsList(ReferenceDataTypes refDataType, IList <WhereClauseDTO> selectionCriteria, IList <int> userSelectedValues) { ParameterExpression parameter = Expression.Parameter(AllRefDataTypes[refDataType], "x"); MemberExpression activeFrom = Expression.Property(parameter, "EffectiveFromDate"); MemberExpression activeTill = Expression.Property(parameter, "EffectiveTillDate"); ConstantExpression today = Expression.Constant(DateTime.Now); BinaryExpression criteria1 = Expression.GreaterThanOrEqual(today, activeFrom); // Today >= x.EffectiveFromDate BinaryExpression criteria2 = Expression.LessThanOrEqual(today, activeTill); // Today <= x.EffectiveTillDate Expression body = Expression.AndAlso(criteria1, criteria2); if (userSelectedValues.Count > 0) { foreach (int usv in userSelectedValues) { MemberExpression member3 = Expression.Property(parameter, "ID"); ConstantExpression constant2 = Expression.Constant(usv); BinaryExpression criteria3 = Expression.Equal(member3, constant2); // x.ID == userSelectValue body = Expression.Or(body, criteria3); } } foreach (var prop in selectionCriteria) { PropertyInfo thisProp = AllRefDataTypes[refDataType].GetProperty(prop.PropertyName); Expression propertyExp = Expression.Property(parameter, thisProp); Expression valueExp = Expression.Constant(prop.PropertyValue); valueExp = Expression.Convert(valueExp, thisProp.PropertyType); Expression criteria = ComposeComparisonExpression(prop.Operator, propertyExp, valueExp); body = AppendWhereExpressions(prop.WhereAndOrCondition ?? ProjectConstants.Operators.SqlWhere.AND, body, criteria); } Type delegateType = typeof(Func <,>).MakeGenericType(AllRefDataTypes[refDataType], typeof(bool)); LambdaExpression predicate = Expression.Lambda(delegateType, body, parameter); MethodInfo findWhereMethod = _repositoryService.GetType().GetMethod("FindWhere"); MethodInfo findWhereMethodGeneric = findWhereMethod.MakeGenericMethod(AllRefDataTypes[refDataType]); dynamic items = findWhereMethodGeneric.Invoke(_repositoryService, new object[] { predicate }); return(items); }
public MediatorResponse <ReferenceDataListViewModel> GetReferenceData(ReferenceDataTypes type) { var result = _referenceDataProvider.GetReferenceData(type); return(GetMediatorResponse(ReferenceDataMediatorCodes.ReferenceData.Success, result)); }
public IEnumerable <ReferenceData> Get(ReferenceDataTypes type) { var data = GetReferenceData(type.ToString()); return(data); }