private Coordinates getCoordinatesParm(ChoiceRiskObjectViewContext viewcontext, NameValueCollection parms)
        {
            Coordinates rc = null;

            int lat_d = 0, lat_m = 0, lat_s = 0, lng_d = 0, lng_m = 0, lng_s = 0;

            viewcontext.Regim = ParmParse(parms["ChoiceRiskObject.Latitude"], viewcontext.Regim, out lat_d);
            viewcontext.Regim = ParmParse(parms["ChoiceRiskObject.Lat_m"], viewcontext.Regim, out lat_m);
            viewcontext.Regim = ParmParse(parms["ChoiceRiskObject.Lat_s"], viewcontext.Regim, out lat_s);


            viewcontext.Regim = ParmParse(parms["ChoiceRiskObject.Lngitude"], viewcontext.Regim, out lng_d);
            viewcontext.Regim = ParmParse(parms["ChoiceRiskObject.Lng_m"], viewcontext.Regim, out lng_m);
            viewcontext.Regim = ParmParse(parms["ChoiceRiskObject.Lng_s"], viewcontext.Regim, out lng_s);

            if (viewcontext.Regim != REGIM.ERROR)
            {
                rc = new Coordinates(lat_d, lat_m, lat_s, lng_d, lng_m, lng_s);
            }

            return(rc);
        }
        public static ChoiceRiskObjectViewContext Handler(RGEContext context, NameValueCollection parms)
        {
            ChoiceRiskObjectViewContext viewcontext = context.GetViewContext(VIEWNAME) as ChoiceRiskObjectViewContext;


            if (viewcontext != null)
            {
                string choicefind = parms["ChoiceRiskObject.choicefind"];
                if (!string.IsNullOrEmpty(choicefind))
                {
                    switch (choicefind)
                    {
                    case "init": viewcontext.Regim = ChoiceRiskObjectViewContext.REGIM.INIT;
                        break;

                    case "choice":
                        string template = parms["ChoiceRiskObject.template"];
                        if (!string.IsNullOrEmpty(template))
                        {
                            viewcontext.Regim    = ChoiceRiskObjectViewContext.REGIM.CHOICE;
                            viewcontext.Template = template;
                        }
                        break;

                    case "set":
                        int    id     = 0;
                        string formid = parms["ChoiceRiskObject.id"];
                        if (!string.IsNullOrEmpty(formid) && int.TryParse(formid, out id))
                        {
                            viewcontext.Regim        = ChoiceRiskObjectViewContext.REGIM.SET;
                            viewcontext.RiskObjectID = id;
                            if (viewcontext.riskobject == null || viewcontext.riskobject.id != id)
                            {
                                viewcontext.riskobject = new RiskObject();
                                if (!RiskObject.GetById(context, id, ref viewcontext.riskobject))
                                {
                                    viewcontext.Regim = REGIM.ERROR;
                                }
                            }
                        }
                        break;

                    case "geopinit": viewcontext.Regim = ChoiceRiskObjectViewContext.REGIM.INIT;
                        break;

                    case "geopchoice": viewcontext.Regim = ChoiceRiskObjectViewContext.REGIM.CHOICE;
                        viewcontext.coordinates          = viewcontext.getCoordinatesParm(viewcontext, parms);
                        break;

                    case "geopset": viewcontext.Regim = REGIM.SET;
                        if ((viewcontext.coordinates = viewcontext.getCoordinatesParm(viewcontext, parms)) != null)
                        {
                            MapePoint mp = new MapePoint(context, viewcontext.coordinates);
                            viewcontext.riskobject = new RiskObject(mp);
                        }
                        break;

                    default: break;
                    }
                }
            }
            else
            {
                viewcontext       = new ChoiceRiskObjectViewContext();
                viewcontext.Regim = REGIM.INIT;
            }
            return(viewcontext);
        }