Exemple #1
0
        internal KeyFamily Parse(DSDDocument dsd)
        {
            KeyFamily keyFamily = new KeyFamily("keyFamilyName","lsdkfj", "agnencyID");

            XElement kfElement = dsd.GetKeyFamilyElement();

            foreach (var keFamilyElement in kfElement.Elements())
            {
                if (keFamilyElement.Name.LocalName == "Components")
                {
                    foreach (var element in keFamilyElement.Elements())
                    {
                        if (element.Name.LocalName == "Dimension")
                        {
                            var parser = new DimensionParser();
                            var dimension = parser.Parse(element, dsd);
                            keyFamily.AddDimension(dimension);
                        }
                    }
                }
            }

            return keyFamily;

        }
        internal KeyFamily Parse(DSDDocument dsd)
        {
            KeyFamily keyFamily = new KeyFamily("keyFamilyName", "lsdkfj", "agnencyID");

            XElement kfElement = dsd.GetKeyFamilyElement();

            foreach (var keFamilyElement in kfElement.Elements())
            {
                if (keFamilyElement.Name.LocalName == "Components")
                {
                    foreach (var element in keFamilyElement.Elements())
                    {
                        if (element.Name.LocalName == "Dimension")
                        {
                            var parser    = new DimensionParser();
                            var dimension = parser.Parse(element, dsd);
                            keyFamily.AddDimension(dimension);
                        }
                    }
                }
            }

            return(keyFamily);
        }
 public DimensionValidator(DimensionParser dimensionParser, IObjectPathFactory objectPathFactory, IUserSettings userSettings)
 {
     _dimensionParser     = dimensionParser;
     _objectPathFactory   = objectPathFactory;
     _userSettings        = userSettings;
     _hiddenNotifications = new Dictionary <string, string>
     {
         { AppConstants.Parameters.SURFACE_AREA_INTERSTITIAL_INTRACELLULAR, dimensionAreaMessage },
         { AppConstants.Parameters.BSA, dimensionAreaMessage },
         { AppConstants.Parameters.PERMEABILITY, dimensionVelocityMessage },
         { AppConstants.Parameters.SPECIFIC_INTESTINAL_PERMEABILITY_TRANSCELLULAR, dimensionVelocityMessage },
         { AppConstants.Parameters.RADIUS_SOLUTE, dimensionValidationMessage(AppConstants.DimensionNames.LENGTH) },
         { AppConstants.Parameters.SECRETION_OF_LIQUID, dimensionFlowMessage },
         { Constants.Parameters.VOLUME, $"Organism|Saliva|Volume' {dimensionValidationMessage(Constants.Dimension.VOLUME)}" },
         { AppConstants.Parameters.RELEASE_RATE_OF_TABLET, dimensionValidationMessage(Constants.Dimension.AMOUNT_PER_TIME) },
         { AppConstants.Parameters.V_MAX, dimensionValidationMessage(Constants.Dimension.MOLAR_CONCENTRATION_PER_TIME) },
         { AppConstants.Parameters.LYMPH_FLOW_RATE, dimensionFlowMessage },
         { AppConstants.Parameters.LYMPH_FLOW_RATE_INCL_MUCOSA, dimensionFlowMessage },
         { AppConstants.Parameters.FLUID_RECIRCULATION_FLOW_RATE, dimensionFlowMessage },
         { AppConstants.Parameters.FLUID_RECIRCULATION_FLOW_RATE_INCL_MUCOSA, dimensionFlowMessage },
         { AppConstants.Parameters.CALCULATED_SPECIFIC_INTESTINAL_PERMEABILITY_TRANSCELLULAR, dimensionVelocityMessage },
         { AppConstants.Parameters.EFFECTIVE_MOLECULAR_WEIGHT, "Arguments of MINUS-function must have the same dimension (Formula: MW - F * 0.000000017 - Cl * 0.000000022 - Br * 0.000000062 - I * 0.000000098)" }
     };
 }
        private void ParseValues(Lua.lua_State L)
        {
#if WINDOWS_PHONE
            String valueDirectoriesString = "";
            Lua.lua_getglobal(L, "WP7ValueDirectories");
            if (Lua.lua_isstring(L, -1) != 0)
            {
                valueDirectoriesString = Lua.lua_tostring(L, -1).toString();
            }
            Lua.lua_pop(L, 1);

            String[] valueDirectories = valueDirectoriesString.Split(new char[] { ',' });
#else
            String[] valueDirectories = LuaResource.GetResourceDirectories(LuaEngine.LUA_VALUES_FOLDER);
#endif

            List <DynamicResource> clearedDirectoryList = new List <DynamicResource>();
            //Eliminate non version type values
            Tester(valueDirectories, LuaEngine.LUA_VALUES_FOLDER, ref clearedDirectoryList);

#if WINDOWS_PHONE
            String valueFilesString = "";
            Lua.lua_getglobal(L, "WP7ValueFiles");
            if (Lua.lua_isstring(L, -1) != 0)
            {
                valueFilesString = Lua.lua_tostring(L, -1).toString();
            }
            Lua.lua_pop(L, 1);

            String[] valueFiles = valueFilesString.Split(new char[] { ',' });

            //System.Threading.Thread.CurrentThread.CurrentCulture
            //((PhoneApplicationFrame)Application.Current.RootVisual).Orientation

            foreach (String valueFile in valueFiles)
            {
                String[] fileArr     = valueFile.Split(new char[] { '|' });
                String   directory   = valueDirectories[Convert.ToInt32(fileArr[0])];
                bool     found       = false;
                int      orientation = 0;
                foreach (DynamicResource dr in clearedDirectoryList)
                {
                    if (((String)dr.data) == directory)
                    {
                        found       = true;
                        orientation = dr.orientation;
                        break;
                    }
                }
                if (!found)
                {
                    continue;
                }
                LuaStream dat = LuaResource.GetResource(LuaEngine.LUA_RESOURCE_FOLDER + "/" + LuaEngine.Instance.GetUIRoot() + "/" + directory + "/", fileArr[1]);
                if (dat.GetStream() != null)
                {
                    XDocument parse;
                    try
                    {
                        parse = XDocument.Load((Stream)dat.GetStream());
                        String name = parse.Root.Name.LocalName;
                        if (name == "resources")
                        {
                            foreach (XElement child in parse.Root.Elements())
                            {
                                String childName = child.Name.LocalName;
                                if (childName == "color")
                                {
                                    ColorParser.ParseXML(orientation, child);
                                }
                                else if (childName == "dimen")
                                {
                                    DimensionParser.ParseXML(orientation, child);
                                }
                                else if (childName == "string")
                                {
                                    StringParser.ParseXML(orientation, child);
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
#else
            foreach (DynamicResource dr in clearedDirectoryList)
            {
                String[] filesOfClearFolder = LuaResource.GetResourceFiles((String)dr.data);
                foreach (String file in filesOfClearFolder)
                {
                    LuaStream dat = LuaResource.GetResource(LuaEngine.LUA_RESOURCE_FOLDER + "/" + LuaEngine.Instance.GetUIRoot() + "/" + dr.data + "/", file);
                    if (dat.GetStream() != null)
                    {
                        XDocument parse;
                        try
                        {
                            parse = XDocument.Load((Stream)dat.GetStream());
                            String name = parse.Root.Name.LocalName;
                            if (name == "resources")
                            {
                                foreach (XElement child in parse.Root.Elements())
                                {
                                    String childName = child.Name.LocalName;
                                    if (childName == "color")
                                    {
                                        ColorParser.ParseXML(dr.orientation, child);
                                    }
                                    else if (childName == "dimen")
                                    {
                                        DimensionParser.ParseXML(dr.orientation, child);
                                    }
                                    else if (childName == "string")
                                    {
                                        StringParser.ParseXML(dr.orientation, child);
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
            }
#endif
        }