Ejemplo n.º 1
0
        void CreateDefaultRecord(FindApptStatuses request, IGenericEntityRepositoryBase <ApptStatus, IDataContextNhJars> repository)
        {
            ApptStatus sts = new ApptStatus()
            {
                UseInterfaceType = request.InterfaceTypeName,
                ViewName         = request.ViewType,
                StatusCriteria   = ""
            };

            sts = repository.CreateUpdate(sts, "SYSTEM");

            Type t = Type.GetType(request.InterfaceTypeName);

            if (t == typeof(IEntityWithStatusLabels))
            {
                sts.StatusCriteria = $"([StatusKey] = '{sts.Id}')";
                repository.CreateUpdate(sts, "SYSTEM");
            }
        }
Ejemplo n.º 2
0
        public ApptStatusesResponse Any(FindApptStatuses request)
        {
            return(ExecuteFaultHandledMethod(() =>
            {
                ApptStatusesResponse response = new ApptStatusesResponse();
                if (request != null)
                {
                    Expression <Func <ApptStatus, bool> > query = LinqExpressionBuilder.True <ApptStatus>();

                    //DisplayName
                    if (!request.ViewType.IsNullOrEmpty())
                    {
                        query = query.And(j => j.ViewName == request.ViewType);
                    }

                    //IsActive
                    if (!request.StatusName.IsNullOrEmpty())
                    {
                        query = query.And(o => o.StatusName.Like($"{request.StatusName}%"));
                    }

                    //var _repository = _DataRepositoryFactory.GetDataRepository<IApptStatusRepository>();
                    var _repository = _DataRepositoryFactory.GetDataRepository <IGenericEntityRepositoryBase <ApptStatus, IDataContextNhJars> >();

                    IList <ApptStatus> resList = _repository.Where(query).ToList();
                    if (resList.Count == 0 && request.ViewType != "" && request.StatusName == null)
                    {
                        CreateDefaultRecord(request, _repository);
                        response.Statuses = _repository.Where(query).ToList().ConvertAll(s => s.ConvertTo <ApptStatusDto>());
                    }
                    else
                    {
                        response.Statuses = resList.ToList().ConvertAll(s => s.ConvertTo <ApptStatusDto>());
                    }

                    //call the extension method to remove any sub child parent references.
                    //response.UpdateChildReferences();
                }
                return response;
            }));
        }