Hinsura
3/1/2018 - 12:46 PM

Json

public ActionResult GetPolicyInsuredCoverageList(int policyInsuredId)
{
  var policyInsuredCoverageDtoList = _policyAppService.GetPolicyInsuredCoverageListByInsuredId(policyInsuredId);
  var nestedList = PolicyInsuredCoverageViewModel.LoadFrom(policyInsuredCoverageDtoList);

  var gridReadyJson = new JArray();
  foreach (var item in nestedList)
  {
    var jsonChildObj = "";
    var counter = 0;

    if (item.Childs != null)
    {
      foreach (var child in item.Childs)
      {
        counter += 1;
        if (counter > 1) { jsonChildObj += ","; }
        jsonChildObj +=
          "{" +
            "\"data\": " +
            "{" +
              "\" \": \" \"," +
              "\"Teminat\": \"" + child.CoverageName + "\"," +
              "\"Net Prim\": \"" + child.NetPremium + "\"," +
              "\"Prim\": \"" + child.Premium + "\"," +
              "\"Komisyon\": \"" + child.Commission + "\"," +
              "\"Vergi\": \"" + child.TaxAmount + "\"," +
              "\"Brüt Prim\": \"" + child.GrossPremium + "\"" +
            "}, " +
            "\"kids\": []" +
          "}";
      }
    }

    var jsonParentObj = "" +
    "{" +
        "\"data\": " +
        "{" +
          "\"Teminat\": \"" + item.CoverageName + "\"," +
          "\"Net Prim\": \"" + item.NetPremium + "\"," +
          "\"Prim\": \"" + item.Premium + "\"," +
          "\"Komisyon\": \"" + item.Commission + "\"," +
          "\"Vergi\": \"" + item.TaxAmount + "\"," +
          "\"Brüt Prim\": \"" + item.GrossPremium + "\"" +
        "}, " +
        "\"kids\": [" + jsonChildObj + "]" +
    "}";

    var o = JObject.Parse(jsonParentObj);
    gridReadyJson.Add(o);
  }
  return Json(gridReadyJson);
}

/* returns */

/*

[
  {
    "data": {
        "Teminat": "IP - YATARAK TEDAVİ",
        "Net Prim": "370,44",
        "Prim": "567,46",
        "Komisyon": "185,22",
        "Vergi": "0,00",
        "Brüt Prim": "370,44"
    },
    "kids": [
      {
        "data": {
          "Teminat": "OYR - ODA-YEMEK-REFAKATÇİ",
          "Net Prim": "260,00",
          "Prim": "360,00",
          "Komisyon": "100,00",
          "Vergi": "0,00",
          "Brüt Prim": "260,00"
        },
        "kids": []
      },
      {
        "data": {
          "Teminat": "YBK - YOĞUN BAKIM",
          "Net Prim": "60,00",
          "Prim": "100,00",
          "Komisyon": "40,00",
          "Vergi": "0,00",
          "Brüt Prim": "60,00"
        },
        "kids": []
      },
      {
        "data": {
          "Teminat": "KRT - KEMOTERAPİ,RADYOTERA",
          "Net Prim": "50,44",
          "Prim": "107,46",
          "Komisyon": "45,22",
          "Vergi": "0,00",
          "Brüt Prim": "50,44"
        },
        "kids": []
      }
    ]
  }
];

*/