コード例 #1
0
        public PagedResult <WeaponResource> GetWeapons(Query query, WeaponFilter filter)
        {
            var weaponsEnumerable = _weaponRepository.GetAll(query, filter);

            var result = _mapper.Map <PagedResult <WeaponResource> >(weaponsEnumerable);

            return(result);
        }
コード例 #2
0
ファイル: V_UIController.cs プロジェクト: creepteks/PIC-UI
    public string ReturnWeaponFilter(WeaponFilter filter)
    {
        switch (filter)
        {
        case (WeaponFilter.NONE):
            return(WF_NONE);

        case (WeaponFilter.ASSUALT):
            return(WF_ASSAULT);

        case (WeaponFilter.KNIFE):
            return(WF_KNIFE);

        case (WeaponFilter.GERENADE):
            return(WF_GERENADE);

        default:
            return(WF_NONE);
        }
    }
コード例 #3
0
        private void CheckSelection(object o)
        {
            switch (Convert.ToInt32(o))
            {
            case 1:
                if (ItemTypeFilterTabContent == null)
                {
                    ItemTypeFilterTabContent = new ItemTypeFilter(this);
                }
                ((ItemTypeFilterTabContent as ItemTypeFilter).DataContext as ItemTypeFilterControl).FilterEnabled = true;
                break;

            case 2:
                if (WeaponFilterTabContent == null)
                {
                    WeaponFilterTabContent = new WeaponFilter(this);
                }
                ((WeaponFilterTabContent as WeaponFilter).DataContext as WeaponFilterControl).FilterEnabled = true;
                break;

            case 3:
                if (ArmourFilterTabContent == null)
                {
                    ArmourFilterTabContent = new ArmourFilter(this);
                }
                ((ArmourFilterTabContent as ArmourFilter).DataContext as ArmourFilterControl).FilterEnabled = true;
                break;

            case 4:
                if (SocketFilterTabContent == null)
                {
                    SocketFilterTabContent = new SocketFilter(this);
                }
                ((SocketFilterTabContent as SocketFilter).DataContext as SocketFilterControl).FilterEnabled = true;
                break;

            case 5:
                if (RequirementFilterTabContent == null)
                {
                    RequirementFilterTabContent = new RequirementsFilter(this);
                }
                ((RequirementFilterTabContent as RequirementsFilter).DataContext as RequirementsFilterControl).FilterEnabled = true;
                break;

            case 6:
                if (MapFilterTabContent == null)
                {
                    MapFilterTabContent = new MapFilter(this);
                }
                ((MapFilterTabContent as MapFilter).DataContext as MapFilterControl).FilterEnabled = true;
                break;

            case 7:
                if (MiscellaneousFilterTabContent == null)
                {
                    MiscellaneousFilterTabContent = new MiscellaneousFilter(this);
                }
                ((MiscellaneousFilterTabContent as MiscellaneousFilter).DataContext as MiscellaneousFilterControl).FilterEnabled = true;
                break;

            case 8:
                if (StatsFilterTabContent == null)
                {
                    StatsFilterTabContent = new StatsFilter(this);
                }
                ((StatsFilterTabContent as StatsFilter).DataContext as StatsFilterControl).FilterEnabled = true;
                break;
            }
        }
コード例 #4
0
ファイル: Index.cshtml.cs プロジェクト: kdomasze/FehDb
        public IActionResult OnGet(WeaponFilter filter, string weaponType, int pageIndex = 1, string sortBy = "Name,Asc", string search = "")
        {
            if (pageIndex < 1)
            {
                pageIndex = 1;
            }

            Filter = filter;

            if (!string.IsNullOrEmpty(weaponType) && weaponType.Contains(' '))
            {
                var weaponTypeSplit = weaponType.Split(' ');

                var color = weaponTypeSplit[0];
                var arm   = weaponTypeSplit[1];

                if (Filter.WeaponType == null)
                {
                    Filter.WeaponType = new WeaponTypeFilter();
                }

                Filter.WeaponType.WeaponColor = Enum.Parse <Color>(color);
                Filter.WeaponType.WeaponArm   = Enum.Parse <Arm>(arm);
            }

            CurrentPage    = pageIndex;
            CurrentSorting = sortBy;
            CurrentSearch  = search;

            HandleSorting(sortBy);

            var client = new RestClient("http://localhost:54359/api/v1");

            var request = new RestRequest("Weapons", Method.GET);

            BuildQueryForRequest(pageIndex, sortBy, search, request);

            var response = client.Execute(request);

            if (!response.IsSuccessful)
            {
                return(NotFound());
            }

            Weapons = JsonConvert.DeserializeObject <PagedResult <Weapon> >(response.Content);
            if (Weapons == null)
            {
                return(NotFound());
            }

            request = new RestRequest("Weapons/types", Method.GET);

            response = client.Execute(request);
            if (!response.IsSuccessful)
            {
                return(NotFound());
            }

            WeaponTypes = JsonConvert.DeserializeObject <IList <WeaponType> >(response.Content);
            if (WeaponTypes == null)
            {
                return(NotFound());
            }

            return(Page());
        }
コード例 #5
0
        public static IQueryable <Weapon> Filter(IQueryable <Weapon> weapon, WeaponFilter filter)
        {
            if (filter.HaveFilter())
            {
                weapon = weapon.WhereIf(filter.IdFrom.HasValue, x => x.ID >= filter.IdFrom);
                weapon = weapon.WhereIf(filter.IdTo.HasValue, x => x.ID <= filter.IdTo);

                weapon = weapon.WhereIf(!string.IsNullOrEmpty(filter.Name), x => x.Name.Contains(filter.Name));

                weapon = weapon.WhereIf(filter.MightFrom.HasValue, x => x.Might >= filter.MightFrom);
                weapon = weapon.WhereIf(filter.MightTo.HasValue, x => x.Might <= filter.MightTo);

                weapon = weapon.WhereIf(filter.RangeFrom.HasValue, x => x.Range >= filter.RangeFrom);
                weapon = weapon.WhereIf(filter.RangeTo.HasValue, x => x.Range <= filter.RangeTo);

                weapon = weapon.WhereIf(!string.IsNullOrEmpty(filter.Effect), x => x.Effect.Contains(filter.Effect));

                weapon = weapon.WhereIf(filter.Exclusive.HasValue, x => x.Exclusive == filter.Exclusive);

                weapon = weapon.WhereIf(filter.Refined.HasValue, x => x.Refined == filter.Refined);

                if (filter.WeaponCost != null && filter.WeaponCost.HaveFilter())
                {
                    weapon = weapon.WhereIf(filter.WeaponCost.SpCostFrom.HasValue, x => x.WeaponCost.SpCost >= filter.WeaponCost.SpCostFrom);
                    weapon = weapon.WhereIf(filter.WeaponCost.SpCostTo.HasValue, x => x.WeaponCost.SpCost <= filter.WeaponCost.SpCostTo);

                    weapon = weapon.WhereIf(filter.WeaponCost.MedalsFrom.HasValue, x => x.WeaponCost.Medals >= filter.WeaponCost.MedalsFrom);
                    weapon = weapon.WhereIf(filter.WeaponCost.MedalsTo.HasValue, x => x.WeaponCost.Medals <= filter.WeaponCost.MedalsTo);

                    weapon = weapon.WhereIf(filter.WeaponCost.StonesFrom.HasValue, x => x.WeaponCost.Stones >= filter.WeaponCost.StonesFrom);
                    weapon = weapon.WhereIf(filter.WeaponCost.StonesTo.HasValue, x => x.WeaponCost.Stones <= filter.WeaponCost.StonesTo);

                    weapon = weapon.WhereIf(filter.WeaponCost.DewFrom.HasValue, x => x.WeaponCost.Dew >= filter.WeaponCost.DewFrom);
                    weapon = weapon.WhereIf(filter.WeaponCost.DewTo.HasValue, x => x.WeaponCost.Dew <= filter.WeaponCost.DewTo);
                }

                if (filter.WeaponStatChange != null && filter.WeaponStatChange.HaveFilter())
                {
                    weapon = weapon.WhereIf(filter.WeaponStatChange.HPFrom.HasValue, x => x.WeaponStatChange.HP >= filter.WeaponStatChange.HPFrom);
                    weapon = weapon.WhereIf(filter.WeaponStatChange.HPTo.HasValue, x => x.WeaponStatChange.HP <= filter.WeaponStatChange.HPTo);

                    weapon = weapon.WhereIf(filter.WeaponStatChange.MightFrom.HasValue, x => x.WeaponStatChange.Might >= filter.WeaponStatChange.MightFrom);
                    weapon = weapon.WhereIf(filter.WeaponStatChange.MightTo.HasValue, x => x.WeaponStatChange.Might <= filter.WeaponStatChange.MightTo);

                    weapon = weapon.WhereIf(filter.WeaponStatChange.SpeedFrom.HasValue, x => x.WeaponStatChange.Speed >= filter.WeaponStatChange.SpeedFrom);
                    weapon = weapon.WhereIf(filter.WeaponStatChange.SpeedTo.HasValue, x => x.WeaponStatChange.Speed <= filter.WeaponStatChange.SpeedTo);

                    weapon = weapon.WhereIf(filter.WeaponStatChange.DefenseFrom.HasValue, x => x.WeaponStatChange.Defense >= filter.WeaponStatChange.DefenseFrom);
                    weapon = weapon.WhereIf(filter.WeaponStatChange.DefenseTo.HasValue, x => x.WeaponStatChange.Defense <= filter.WeaponStatChange.DefenseTo);

                    weapon = weapon.WhereIf(filter.WeaponStatChange.ResistanceFrom.HasValue, x => x.WeaponStatChange.Resistance >= filter.WeaponStatChange.ResistanceFrom);
                    weapon = weapon.WhereIf(filter.WeaponStatChange.ResistanceTo.HasValue, x => x.WeaponStatChange.Resistance <= filter.WeaponStatChange.ResistanceTo);
                }

                if (filter.WeaponType != null && filter.WeaponType.HaveFilter())
                {
                    weapon = weapon.WhereIf(filter.WeaponType.WeaponColor.HasValue, x => x.WeaponType.Color == filter.WeaponType.WeaponColor);
                    weapon = weapon.WhereIf(filter.WeaponType.WeaponArm.HasValue, x => x.WeaponType.Arm == filter.WeaponType.WeaponArm);
                }
            }

            return(weapon);
        }
コード例 #6
0
        public static IQueryable <Weapon> Parse(IQueryable <Weapon> weapon, Query query, WeaponFilter filter)
        {
            weapon = Search(weapon, query);
            weapon = Sort(weapon, query);
            weapon = Filter(weapon, filter);

            return(weapon);
        }
コード例 #7
0
ファイル: WeaponsController.cs プロジェクト: kdomasze/FehDb
        public IActionResult GetAll([FromQuery] Query query, [FromQuery] WeaponFilter filter)
        {
            var result = _service.GetWeapons(query, filter);

            return(Ok(result));
        }