Example #1
0
        public override AbstractDomainModel Query(AbstractDomainModel domainModel, CareHub.Factory.Enumerations.DomainModelEnum domainModelType)
        {
            DomainModel.Models.DoctorsSearch searchDoctor = (DomainModel.Models.DoctorsSearch)domainModel;
            try
            {
                if (domainModel != null)
                {
                    FactoryFacade factory = new FactoryFacade();
                    switch (domainModelType)
                    {
                    case CareHub.Factory.Enumerations.DomainModelEnum.DOCTOR_SEARCH:
                        unitOfWork   = factory.UnitOfWorkFactory.CreateUnitOfWork(typeof(CareHub.UnitOfWork.DoctorsSearchUOW));
                        searchDoctor = (DomainModel.Models.DoctorsSearch)unitOfWork.Get(searchDoctor);
                        searchDoctor.ResponseMessage = "Valid domain model";
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    switch (domainModelType)
                    {
                    case CareHub.Factory.Enumerations.DomainModelEnum.DOCTOR_SEARCH:
                        searchDoctor.ResponseMessage = "Invalid domain model";
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                switch (domainModelType)
                {
                case CareHub.Factory.Enumerations.DomainModelEnum.DOCTOR_SEARCH:
                    searchDoctor.ResponseMessage = ex.Message;
                    break;

                default:
                    break;
                }
            }
            switch (domainModelType)
            {
            case CareHub.Factory.Enumerations.DomainModelEnum.DOCTOR_SEARCH:
                return(searchDoctor);

            default:
                break;
            }

            return(null);
        }
Example #2
0
        public override AbstractDomainModel Query(SearchCriteriaEnum searchCriteria)
        {
            DomainModel.Models.DoctorsSearch searchDoctor = new DomainModel.Models.DoctorsSearch();

            FactoryFacade factory = new FactoryFacade();

            try
            {
                switch (searchCriteria)
                {
                case SearchCriteriaEnum.GET_COUNTRIES:
                    unitOfWork   = factory.UnitOfWorkFactory.CreateUnitOfWork(typeof(CareHub.UnitOfWork.DoctorsSearchUOW));
                    searchDoctor = (DomainModel.Models.DoctorsSearch)unitOfWork.GetAll(searchCriteria);
                    break;

                case SearchCriteriaEnum.GET_SPECIALTIES:
                    unitOfWork   = factory.UnitOfWorkFactory.CreateUnitOfWork(typeof(CareHub.UnitOfWork.DoctorsSearchUOW));
                    searchDoctor = (DomainModel.Models.DoctorsSearch)unitOfWork.GetAll(searchCriteria);
                    break;

                case SearchCriteriaEnum.GET_DOCTORS:
                    unitOfWork   = factory.UnitOfWorkFactory.CreateUnitOfWork(typeof(CareHub.UnitOfWork.DoctorsSearchUOW));
                    searchDoctor = (DomainModel.Models.DoctorsSearch)unitOfWork.GetAll(searchCriteria);
                    break;

                case SearchCriteriaEnum.GET_PHARMACISTS:
                    unitOfWork   = factory.UnitOfWorkFactory.CreateUnitOfWork(typeof(CareHub.UnitOfWork.DoctorsSearchUOW));
                    searchDoctor = (DomainModel.Models.DoctorsSearch)unitOfWork.GetAll(searchCriteria);
                    break;

                case SearchCriteriaEnum.GET_NURSE:
                    unitOfWork   = factory.UnitOfWorkFactory.CreateUnitOfWork(typeof(CareHub.UnitOfWork.DoctorsSearchUOW));
                    searchDoctor = (DomainModel.Models.DoctorsSearch)unitOfWork.GetAll(searchCriteria);
                    break;

                case SearchCriteriaEnum.GET_TREATMENTS:
                    unitOfWork   = factory.UnitOfWorkFactory.CreateUnitOfWork(typeof(CareHub.UnitOfWork.DoctorsSearchUOW));
                    searchDoctor = (DomainModel.Models.DoctorsSearch)unitOfWork.GetAll(searchCriteria);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                switch (searchCriteria)
                {
                case SearchCriteriaEnum.GET_COUNTRIES:
                    searchDoctor.ResponseMessage = ex.Message;
                    break;

                case SearchCriteriaEnum.GET_SPECIALTIES:
                    searchDoctor.ResponseMessage = ex.Message;
                    break;

                case SearchCriteriaEnum.GET_DOCTORS:
                    searchDoctor.ResponseMessage = ex.Message;
                    break;

                case SearchCriteriaEnum.GET_PHARMACISTS:
                    searchDoctor.ResponseMessage = ex.Message;
                    break;

                case SearchCriteriaEnum.GET_NURSE:
                    searchDoctor.ResponseMessage = ex.Message;
                    break;

                case SearchCriteriaEnum.GET_TREATMENTS:
                    searchDoctor.ResponseMessage = ex.Message;
                    break;

                default:
                    break;
                }
            }
            finally
            {
                factory = null;
            }
            switch (searchCriteria)
            {
            case SearchCriteriaEnum.GET_COUNTRIES:
                return(searchDoctor);

            case SearchCriteriaEnum.GET_SPECIALTIES:
                return(searchDoctor);

            case SearchCriteriaEnum.GET_DOCTORS:
                return(searchDoctor);

            case SearchCriteriaEnum.GET_PHARMACISTS:
                return(searchDoctor);

            case SearchCriteriaEnum.GET_NURSE:
                return(searchDoctor);

            case SearchCriteriaEnum.GET_TREATMENTS:
                return(searchDoctor);

            default:
                break;
            }
            return(null);
        }