Ejemplo n.º 1
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));
        }
Ejemplo n.º 2
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);
        }