Exemplo n.º 1
0
    protected void SetTemplatesForAircraft(Aircraft ac, Controls_mfbEditPropSet editPropSet)
    {
        if (ac == null)
        {
            return;
        }

        if (editPropSet == null)
        {
            throw new ArgumentNullException(nameof(editPropSet));
        }

        editPropSet.RemoveAllTemplates();
        IEnumerable <PropertyTemplate> rgpt = UserPropertyTemplate.TemplatesForUser(Page.User.Identity.Name, false);

        HashSet <PropertyTemplate> aircraftTemplates = new HashSet <PropertyTemplate>();

        foreach (int id in ac.DefaultTemplates)
        {
            PropertyTemplate pt = rgpt.FirstOrDefault(pt1 => pt1.ID == id);
            if (pt != null)
            {
                aircraftTemplates.Add(pt);
            }
        }

        HashSet <PropertyTemplate> defaultTemplates = new HashSet <PropertyTemplate>(UserPropertyTemplate.DefaultTemplatesForUser(Page.User.Identity.Name));

        // if the aircraft has valid templates specified, use those
        if (aircraftTemplates.Count > 0)
        {
            editPropSet.AddTemplates(aircraftTemplates);
        }
        else if (defaultTemplates.Count > 0)
        {
            editPropSet.AddTemplates(defaultTemplates);
        }
        else
        {
            editPropSet.AddTemplate(new MRUPropertyTemplate(Page.User.Identity.Name));
        }

        editPropSet.RemoveTemplate((int)KnownTemplateIDs.ID_ANON);
        editPropSet.RemoveTemplate((int)KnownTemplateIDs.ID_SIM);

        if (ac.InstanceType == AircraftInstanceTypes.RealAircraft)
        {
            if (ac.IsAnonymous)
            {
                editPropSet.AddTemplate(new AnonymousPropertyTemplate());
            }
        }
        else
        {
            editPropSet.AddTemplate(new SimPropertyTemplate());
        }

        editPropSet.Refresh();
    }
    protected void SetTemplatesForAircraft(int idAircraft)
    {
        UserAircraft ua = new UserAircraft(Page.User.Identity.Name);
        Aircraft     ac = ua.GetUserAircraftByID(idAircraft);

        if (ac != null)
        {
            mfbEditPropSet1.RemoveAllTemplates();
            IEnumerable <PropertyTemplate> rgpt = UserPropertyTemplate.TemplatesForUser(Page.User.Identity.Name, false);

            HashSet <PropertyTemplate> aircraftTemplates = new HashSet <PropertyTemplate>();
            foreach (int id in ac.DefaultTemplates)
            {
                PropertyTemplate pt = rgpt.FirstOrDefault(pt1 => pt1.ID == id);
                if (pt != null)
                {
                    aircraftTemplates.Add(pt);
                }
            }

            HashSet <PropertyTemplate> defaultTemplates = new HashSet <PropertyTemplate>(UserPropertyTemplate.DefaultTemplatesForUser(Page.User.Identity.Name));
            // if the aircraft has valid templates specified, use those
            if (aircraftTemplates.Count > 0)
            {
                mfbEditPropSet1.AddTemplates(aircraftTemplates);
            }
            else if (defaultTemplates.Count > 0)
            {
                mfbEditPropSet1.AddTemplates(defaultTemplates);
            }
            else
            {
                mfbEditPropSet1.AddTemplate(new MRUPropertyTemplate(Page.User.Identity.Name));
            }

            mfbEditPropSet1.RemoveTemplate((int)KnownTemplateIDs.ID_ANON);
            mfbEditPropSet1.RemoveTemplate((int)KnownTemplateIDs.ID_SIM);

            // Expand for tailwheel
            if (ac.IsTailwheel)
            {
                cpeLandingDetails.ClientState = "false";
            }
            if (ac.InstanceType == AircraftInstanceTypes.RealAircraft)
            {
                if (ac.IsAnonymous)
                {
                    mfbEditPropSet1.AddTemplate(new AnonymousPropertyTemplate());
                }
            }
            else
            {
                mfbEditPropSet1.AddTemplate(new SimPropertyTemplate());
            }

            mfbEditPropSet1.Refresh();
        }
    }