Ejemplo n.º 1
0
 public ListTactiquePage(String equipeId)
 {
     InitializeComponent();
     On <Xamarin.Forms.PlatformConfiguration.iOS>().SetUseSafeArea(true);
     this.equipeId = equipeId;
     options       = new TactiqueOptionsViewModel();
     phasesSwitch  = new List <View>();
 }
Ejemplo n.º 2
0
        public List <TactiqueViewModel> GetAllTactics(TactiqueOptionsViewModel options = null)
        {
            if (options == null)
            {
                options = new TactiqueOptionsViewModel
                {
                    Declinaison  = true,
                    Faction      = true,
                    Specialite   = true,
                    Generale     = true,
                    ChoosedPhase = new List <string>()
                };
            }

            var membres      = GetSelectedMembers();
            var hasCommander = membres.Any(m => m.IsCommander);
            var tactics      = new List <TactiqueViewModel>();

            if (options.Generale)
            {
                LoadGenericTactics(tactics, hasCommander);
            }
            if (options.Faction)
            {
                LoadFactionTactics(tactics, hasCommander);
            }

            if (options.Specialite || options.Declinaison)
            {
                foreach (Member membre in membres)
                {
                    if (options.Specialite && membre.Specialist != null)
                    {
                        LoadSpecialistTactics(tactics, membre, hasCommander);
                    }

                    if (options.Declinaison)
                    {
                        LoadProfileTactics(tactics, membre);
                    }
                }
            }

            List <string> phases = new List <string>(options.ChoosedPhase);

            if (phases.Contains("4") || phases.Contains("5"))
            {
                phases.Add("7");
            }

            if (options.ChoosedPhase.Count > 0)
            {
                tactics = tactics.Where(t => t.Tactique.Phase == null || phases.Contains(t.Tactique.Phase.Id)).OrderBy(a => a.Tactique.Name).ToList();
            }

            return(tactics.Distinct().ToList());
        }