예제 #1
0
 public Clone(CloneFactory factory)
 {
     _weapon          = factory.AssignWeapon();
     _division        = factory.AssignDivision();
     _rank            = factory.AssignRank();
     _uniqueEquipment = factory.AssignUniqueEquipment();
 }
        public UniqueEquipment GetUniqueEquipmentByCharacterName(string name)
        {
            name = aliases.ResolveAlias(name);

            var character = dbContext.Characters.FirstOrDefault(x => x.Name.ToLower() == name.ToLower());

            if (character == null)
            {
                character = dbContext.Characters.OrderByDescending(x => Fuzz.PartialRatio(x.Name.ToLower(), name.ToLower())).FirstOrDefault();
            }

            var sheetUniques   = dbContext.UniqueEquipment.Where(x => x.Character == character.Name);
            var sheetUniqueSet = dbContext.UniqueEquipmentSets.FirstOrDefault(x => x.Character == character.Name);
            var uniqueEquip    = new UniqueEquipment
            {
                UniqueEquipments = sheetUniques.Select(x => new UniqueEquip {
                    Info = x
                }).ToList(),
                UniqueEquipmentSets = new UniqueEquipmentSet {
                    Info = sheetUniqueSet
                },
                CharacterUrl = character.CharacterImage
            };

            return(uniqueEquip);
        }