Esempio n. 1
0
        private static FittingResponse RouteFit(FittingRequest request)
        {
            if (IntriconPrescriptionEngineRouter.IsAudionBasedAid(request))
            {
                return(IntriconPrescriptionEngineRouter.Fit(request));
            }

            throw new Exception("Could not route aid type " + request.Name);
        }
Esempio n. 2
0
        public static FittingResponse Fit(FittingRequest request)
        {
            PrescriptionAND.Model model = new PrescriptionAND.Model()
            {
                Name         = request.Name,
                SerialNumber = request.SerialNumber
            };

            PrescriptionAND.AutofitInputs autofitInputs =
                new PrescriptionAND.AutofitInputs()
            {
                Gender       = (IPDT.gender_enum)request.Gender,
                DOB_Year     = (short)request.DateOfBirth.Year,
                DOB_Month    = (short)request.DateOfBirth.Month,
                DOB_Day      = (short)request.DateOfBirth.Day,
                NumberOfAids = (IPDT.noOfAids_enum)request.NumberOfAids,
                TubingType   = (IPDT.tubing_enum)request.Tubing,
                VentType     = (IPDT.ventType_enum)request.Tip
            };

            for (int i = 0; i < 11; i++)
            {
                autofitInputs.AudiogramAC[i] =
                    float.Parse(request.Audiogram[i]);

                autofitInputs.AudiogramACOtherSide[i] =
                    float.Parse(request.OtherAudiogram[i]);
            }

            if (!String.IsNullOrEmpty(request.ManufacturerData))
            {
                int[] data = new int[10];
                int   i    = 0;

                foreach (var s in request.ManufacturerData.Split(','))
                {
                    // handle case when inputs have more than 10 MDA
                    if (i > 9)
                    {
                        break;
                    }

                    int num;

                    if (int.TryParse(s, out num))
                    {
                        data[i] = num;
                    }
                    i++;
                }
                autofitInputs.Mda = data;
            }

            return(AutoFit(request, autofitInputs, model));
        }
        //todo: [ApiAuthorize]
        public FittingResponse Post([FromBody] FittingRequest request)
        {
            if (!request.Validate())
            {
                throw new ArgumentException(
                          "Invalid date", "dateOfBirth");
            }

            return(PrescriptionEngineRoutingService.Fit(
                       request
                       ));
        }
Esempio n. 4
0
        private static FittingResponse AutoFit(
            FittingRequest request,
            PrescriptionAND.AutofitInputs autofitInputs,
            PrescriptionAND.Model model)
        {
            switch (request.Name)
            {
            case "L200B":
                return(new FittingResponse(
                           PrescriptionAND.Autofit.AutoFitAllPrograms(
                               model, autofitInputs).byteArray
                           ));

            case "W7":
                return(new FittingResponse(
                           PrescriptionAND.Autofit.Audion4AutoFit(
                               model, autofitInputs)
                           ));
            }

            throw new Exception("Unknown Intricon aid type " + request.Name);
        }
Esempio n. 5
0
 public static bool IsAudionBasedAid(FittingRequest request)
 {
     return(AudionAidTypes.Contains(request.Name));
 }
Esempio n. 6
0
 public static FittingResponse Fit(FittingRequest request)
 {
     return(RouteFit(request));
 }