ASP.NET MVC5で環境はVisual Stadio2015です。
言語はC#でwebアプリケーションを作成しています。
webApiを使い外部のソフトと連動?させています。
以前に私が質問したものに追加でわからない部分なんですが、
よろしくお願いします。
質問:https://teratail.com/questions/66171
foreachを使い、Dictionaryとwebapiから取得したデータを
Addで紐付けを行いました。
これに加えて、紐付けに成功したものとしていないものに分けたいなと
思いifを使えば良いと考えたのですが、どうかくかわからず教えていた
だければと思います。
また出来ましたら、回答にコードの説明もしていただければ嬉しいです。
プログラムがあまりよくわからないので。
具体的には、
{"1234", new Kamoku {Id = "10000", Name = "国語" }},
であれば、"1234"とwebApiから持ってきたListAbのCord()が
一致したか・一致しなかったがわかるようにしたいです。
※ちなみになんですが、この一致したものと一致しなかったものを
Viewに表示させるにはどうすればいいんでしょうか。
一回Viewbugに入れればいいのでしょうか・・・・。
ちょっとやってみたんですが、エラーばかりで多分根本的に理解していないみたいなので。
お手数ですが、お願いします。
以下にコードは長いので省いている所もあります。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Web; 5using System.Web.Mvc; 6using System.Text; 7using System.Net.Http; 8using System.Collections; 9using System.Web.Script.Serialization; 10using System.Threading.Tasks; 11using System.Net.Http.Headers; 12using System.Runtime.Serialization; 13using System.Runtime.Serialization.Json; 14using System.Xml.Serialization; 15 16namespace WebApplication1.Controllers 17{ 18 public class HomeController : Controller 19 { 20 string schoolBaseUrl = "https:~"; 21 string schoolDataArea = "abcde"; 22 23 //mappingsを定義 24 Dictionary<String, Kamoku> mappings = new Dictionary<String, Kamoku>() 25 { 26 {"1234", new Kamoku {Id = "10000", Name = "国語" }}, 27 {"1112", new Kamoku {Id = "10000", Name = "理科" }}, 28 {"1232, new Kamoku {Id = "10000", Name = "社会" }}, 29 {"1311", new Kamoku {Id = "10000", Name = "数学" }}, 30 {"1300", new Kamoku {Id = "10000", Name = "歴史" }}, 31 {"1400", new Kamoku {Id = "10000", Name = "英語" }}, 32 {"1178", new Kamoku {Id = "20000", Name = "体育" }}, 33 {"1423", new Kamoku {Id = "20000", Name = "宗教" }}, 34 35 36 37 public ActionResult Test() 38 { 39 try 40 { 41 Task<System.IO.Stream> response1 = postRequest(); 42 System.IO.Stream res1 = response1.Result; 43 // JSONデシリアライズ 44 var serializer1 = new DataContractJsonSerializer(typeof(PcaToken)); 45 PcaToken token = (PcaToken)serializer1.ReadObject(res1); 46 47 /* 48 Task<System.IO.Stream> response2 = getRequest(); 49 System.IO.Stream res2 = response2.Result; 50 var serializer2 = new DataContractJsonSerializer(typeof(List<CashOutUI>)); 51 List<CashOutUI> info = (List<CashOutUI>)serializer2.ReadObject(res2); 52 */ 53 54 Task<System.IO.Stream> response3 = getRequest(token.access_token); 55 System.IO.Stream res3 = response3.Result; 56 // XMLデシリアライズ 57 var serializer3 = new XmlSerializer(typeof(List<Ab>)); 58 59List<Ab> list = (List<Ab>)serializer3.Deserialize(res3); 60List<Kamoku> result = new List<Kamoku>(); 61 62foreach (Ab item in list) 63{ 64 result.Add(mappings[item.Code]); 65 //listの中からmappingのitem.codeを加えているので、 66 //ここにifで分岐させればいいのかなと考えていますが・・・ 67 68} 69 70 71 //Task<string> response4 = getRequestStr(token.access_token); 72 //string res4 = response4.Result; 73 74 //ViewBag.Message = info.Count; 75 //ViewBag.Message = token.access_token; 76 ViewBag.Message = ""; 77 } 78 catch (Exception ex) 79 { 80 Console.WriteLine(ex.Message); 81 } 82 83 84 return View(); 85 } 86 87 88 [DataContract] 89 public class Ab //WebAPIからとれる情報のクラス 90 { 91 [DataMember] 92 public string Id { get; set; } 93 [DataMember] 94 public string Number { get; set; } 95 [DataMember] 96 public string Code { get; set; } 97 [DataMember] 98 public string Deletable { get; set; } 99 [DataMember] 100 public string Name { get; set; } 101 [DataMember] 102 103 //Kamoku クラス 104 public class Kamoku //科目のIDと名称 105 { 106 public string Id { get; set; } 107 public string Name { get; set; } 108 } 109} 110
回答1件
あなたの回答
tips
プレビュー