private string GetGemName() { var retour = ""; if (this.IsNotLoot && this.IsDefined && !this.IsFifthBonus) { CraftBonusModel craftbonus = null; GemQualityModel gemQuality = null; CaracModel carac = null; ResistModel resist = null; SkillModel skill = null; var main = ServiceLocator.Current.GetInstance <MainViewModel>(); var realm = DataProvider.Current.Realms.FirstOrDefault(o => o.Code == main.SelectedTemplate.Realm); craftbonus = DataProvider.Current.CraftBonuses.FirstOrDefault(o => o.Stat == this.TypeBonus && o.Value == this.Value); if (craftbonus != null) { gemQuality = DataProvider.Current.LstGemQualities.FirstOrDefault(o => o.Code == craftbonus.GemQuality); if (gemQuality != null) { if (!string.IsNullOrEmpty(this.Bonus) && this.TypeBonus == "STA") { carac = DataProvider.Current.Caracs.FirstOrDefault(o => o.Code == this.Bonus); if (carac != null) { retour = carac.GemName.ToLower(); } } else if (!string.IsNullOrEmpty(this.Bonus) && this.TypeBonus == "RES") { resist = DataProvider.Current.Resists.FirstOrDefault(o => o.Code == this.Bonus); if (resist != null) { retour = resist.GemName.ToLower(); } } else if (!string.IsNullOrEmpty(this.Bonus) && this.TypeBonus == "SKI") { skill = DataProvider.Current.Skills.FirstOrDefault(o => o.Code == this.Bonus); if (skill != null) { retour = skill.GemNames.FirstOrDefault(o => o.Realm == "ALL" || o.Realm == realm.Code).Name.ToLower(); } } else if (this.TypeBonus == "HP" || this.TypeBonus == "MAN") { carac = DataProvider.Current.Caracs.FirstOrDefault(o => o.Code == this.TypeBonus); if (carac != null) { retour = carac.GemName.ToLower(); } } retour = " - " + gemQuality.Full + " " + retour; } } } return(retour); }
private string GetMaterials() { var retour = ""; this.LstMaterials.Clear(); if (this.IsNotLoot && this.IsDefined && !this.IsFifthBonus) { CraftBonusModel craftbonus = null; GemQualityModel gemQuality = null; CaracModel carac = null; ResistModel resist = null; SkillModel skill = null; var main = ServiceLocator.Current.GetInstance <MainViewModel>(); var realm = DataProvider.Current.Realms.FirstOrDefault(o => o.Code == main.SelectedTemplate.Realm); var type = DataProvider.Current.TypeBonuses.FirstOrDefault(o => o.Code == this.TypeBonus); craftbonus = DataProvider.Current.CraftBonuses.FirstOrDefault(o => o.Stat == this.TypeBonus && o.Value == this.Value); if (craftbonus != null && type != null) { gemQuality = DataProvider.Current.LstGemQualities.FirstOrDefault(o => o.Code == craftbonus.GemQuality); if (gemQuality != null) { if (!string.IsNullOrEmpty(this.Bonus) && this.TypeBonus == "STA") { carac = DataProvider.Current.Caracs.FirstOrDefault(o => o.Code == this.Bonus); if (carac != null) { retour = "1 " + DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = 1, Material = DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem), Type = 1 }); retour += "\t" + craftbonus.NbDusts + " " + DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == type.Dust).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbDusts, Material = DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == type.Dust), Type = 2 }); retour += "\t" + craftbonus.NbAgents + " " + DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == carac.Agent).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbAgents, Material = DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == carac.Agent), Type = 3 }); } } else if (!string.IsNullOrEmpty(this.Bonus) && this.TypeBonus == "RES") { resist = DataProvider.Current.Resists.FirstOrDefault(o => o.Code == this.Bonus); if (resist != null) { retour = "1 " + DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = 1, Material = DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem), Type = 1 }); retour += "\t" + craftbonus.NbDusts + " " + DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == type.Dust).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbDusts, Material = DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == type.Dust), Type = 2 }); retour += "\t" + craftbonus.NbAgents + " " + DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == resist.Agent).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbAgents, Material = DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == resist.Agent), Type = 3 }); } } else if (!string.IsNullOrEmpty(this.Bonus) && this.TypeBonus == "SKI") { skill = DataProvider.Current.Skills.FirstOrDefault(o => o.Code == this.Bonus); if (skill != null && skill.GemNames.Count == 1) { retour = "1 " + DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = 1, Material = DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem), Type = 1 }); retour += "\t" + craftbonus.NbDusts + " " + DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == skill.GemNames.FirstOrDefault(s => s.Realm == "ALL").Dust).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbDusts, Material = DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == skill.GemNames.FirstOrDefault(s => s.Realm == "ALL").Dust), Type = 2 }); retour += "\t" + craftbonus.NbAgents + " " + DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == skill.GemNames.FirstOrDefault(s => s.Realm == "ALL").Agent).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbAgents, Material = DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == skill.GemNames.FirstOrDefault(s => s.Realm == "ALL").Agent), Type = 3 }); } else if (skill != null) { retour = "1 " + DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = 1, Material = DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem), Type = 1 }); retour += "\t" + "1 " + DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == skill.GemNames.FirstOrDefault(s => s.Realm == realm.Code).Dust).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = 1, Material = DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == skill.GemNames.FirstOrDefault(s => s.Realm == realm.Code).Dust), Type = 2 }); foreach (var codeAgent in skill.GemNames.FirstOrDefault(o => o.Realm == realm.Code).Agent.Split(';')) { retour += "\t" + "1 " + DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == codeAgent).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = 1, Material = DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == codeAgent), Type = 3 }); } } } else if (this.TypeBonus == "HP" || this.TypeBonus == "MAN") { carac = DataProvider.Current.Caracs.FirstOrDefault(o => o.Code == this.TypeBonus); if (carac != null) { retour = "1 " + DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = 1, Material = DataProvider.Current.LstGems.FirstOrDefault(o => o.Code == gemQuality.Gem), Type = 1 }); retour += "\t" + craftbonus.NbDusts + " " + DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == type.Dust).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbDusts, Material = DataProvider.Current.LstDusts.FirstOrDefault(o => o.Code == type.Dust), Type = 2 }); retour += "\t" + craftbonus.NbAgents + " " + DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == type.Agent).Full + Environment.NewLine; this.LstMaterials.Add(new MaterialModel() { Quantity = craftbonus.NbAgents, Material = DataProvider.Current.LstAgents.FirstOrDefault(o => o.Code == type.Agent), Type = 3 }); } } } retour = this.GemNameReport + " : \n\t" + retour; } } return(retour); }