public static List <B2b> GetB2BGst1Save(DataTable dtInvoice, DataTable dtInvoiceItemRate) { #region B2B Section List <B2b> _resB2BList = new List <B2b>(); List <Inv> _resB2BInv = new List <Inv>(); List <Itm> _resB2BItm = new List <Itm>(); #endregion List <B2b> _b2bList = new List <B2b>(); var distinctctin = (from DataRow dRow in dtInvoice.Rows select new { col1 = dRow["ctin"] }).Distinct().ToList(); for (int k = 0; k < distinctctin.Count(); k++) { B2b _b2b = new B2b(); _b2b.ctin = distinctctin[k].ToString().Replace("col1 =", "").Replace("{", "").Replace("}", ""); string _selectParam = "ctin =" + "'" + _b2b.ctin.TrimStart().TrimEnd() + "'"; var currInvoiceLoop = dtInvoice.Select(_selectParam).CopyToDataTable(); List <ItmDet> _itmdetList = new List <ItmDet>(); string JSONString = string.Empty; JSONString = JsonConvert.SerializeObject(currInvoiceLoop); _resB2BInv = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Inv> >(JSONString); string JSONStringItem = string.Empty; JSONStringItem = JsonConvert.SerializeObject(dtInvoiceItemRate); _itmdetList = Newtonsoft.Json.JsonConvert.DeserializeObject <List <ItmDet> >(JSONStringItem); _b2b.inv = _resB2BInv; List <Inv> _invList = new List <Inv>(); for (int i = 0; i < currInvoiceLoop.Rows.Count; i++) { Inv _inv = new Inv(); List <ItmDet> itmdetList = new List <ItmDet>(); List <Itm> _itmList = new List <Itm>(); string invoiceId = _b2b.inv[i].InvoiceId; var _curritm = (List <ItmDet>)_itmdetList.Where(x => x.InvoiceId == invoiceId).Select(x => x).ToList(); _inv = _resB2BInv[i]; for (int j = 0; j < _curritm.Count(); j++) { Itm _itm = new Itm(); ItmDet _itmdet = new ItmDet(); _itmdet = (_curritm[j]); _itm.num = i + 1; _itm.itm_det = _itmdet; _itmList.Add(_itm); _inv.itms = _itmList; _b2b.inv[i] = _inv; } } _b2bList.Add(_b2b); } return(_b2bList); }
private void btnReadJson_Click(object sender, EventArgs e) { List <Invoice> invoices = new List <Invoice>(); JsonSerializer jsonSerializer = new JsonSerializer(); using (StreamReader r = new StreamReader(@"D:\DotNet\Forms\JsonReader\JsonReader\Json\Data.json")) { var json = r.ReadToEnd(); var items = JsonConvert.DeserializeObject <JSONReader>(json); JSONReader jSONReader = new JSONReader() { b2b = items.b2b, gstin = items.gstin, fp = items.fp }; Itm itmm = new Itm(); using (RootDataContext dbContext = new RootDataContext()) { var b2bList = jSONReader.b2b; //b2b foreach (var data in b2bList) { B2b b2 = new B2b() { cfs = data.cfs, cname = data.cname, ctin = data.ctin, inv = data.inv// }; var invList = data.inv; foreach (var invItem in invList)// inv { var invItems = invItem.itms; List <Inv> InvList = new List <Inv>(); // Itm Done Here foreach (var Items in invItems) { var Itm_DetItem = Items.itm_det; var ItemDetObj = new Itm_Det() { camt = Itm_DetItem.camt, csamt = Itm_DetItem.csamt, rt = Itm_DetItem.rt, samt = Itm_DetItem.samt, txval = Itm_DetItem.txval }; var itm = new Itm() { num = Items.num, itm_det = ItemDetObj }; List <Itm> ItemList = new List <Itm>() // inv List Done Here { new Itm() { num = itm.num, itm_det = itm.itm_det } }; Inv inv = new Inv() { chksum = invItem.chksum, idt = invItem.idt, inum = invItem.inum, inv_typ = invItem.inv_typ, pos = invItem.pos, rchrg = invItem.rchrg, val = invItem.val, itms = ItemList, }; InvList.Add(inv); } } } } } }