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 Itm GetItm(GST_TRN_INVOICE_DATA dataitem) { Itm Item = new Itm(); Item.num = 12; ItmDet ItemDetail = new ItmDet(); ItemDetail.csamt = (int?)dataitem.CessAmt; ItemDetail.iamt = (int?)dataitem.IGSTAmt; ItemDetail.rt = dataitem.Rate == null ? null : (int?)dataitem.Rate; ItemDetail.txval = (int?)dataitem.TotalAmountWithTax; Item.itm_det = ItemDetail; return(Item); }
private Itm GetItm(GST_TRN_OFFLINE_INVOICE_DATAITEM dataitem) { Itm Item = new Itm(); Item.num = 12; ItmDet ItemDetail = new ItmDet(); ItemDetail.csamt = (int?)dataitem.CessAmt; ItemDetail.iamt = (int?)dataitem.IGSTAmt; ItemDetail.rt = dataitem.GST_TRN_OFFLINE_INVOICE_RATE == null ? null : (int?)dataitem.GST_TRN_OFFLINE_INVOICE_RATE.RATE; ItemDetail.txval = (int?)dataitem.TotalTaxableValue; Item.itm_det = ItemDetail; return(Item); }
private List <B2bAOutward> GetB2BAJson(List <B2bAOutward> b2ba, GST_TRN_INVOICE invoice) { string b2bJson = string.Empty; B2bAOutward b2baItem = new B2bAOutward(); b2baItem.ctin = invoice.AspNetUser2.GSTNNo;//.ConsigneeUserID; B2BAInv inv = new B2BAInv(); inv.inum = invoice.InvoiceNo; inv.idt = invoice.InvoiceDate.Value.ToString("dd-MM-yyyy"); inv.val = Convert.ToDouble(invoice.GST_TRN_INVOICE_DATA.Sum(s => s.TaxableAmount)); inv.pos = invoice.TaxBenefitingState; inv.rchrg = "N"; //TODO:need to change inv.inv_typ = "R"; // //TODO:need to change and update according to count according to in invoice item. List <B2Bitem> lineItems = new List <B2Bitem>(); foreach (GST_TRN_INVOICE_DATA itm in invoice.GST_TRN_INVOICE_DATA) { B2Bitem invItem = new B2Bitem(); invItem.num = itm.LineID.Value; ItmDet itemDetail = new ItmDet(); itemDetail.rt = Convert.ToDouble(itm.Rate); itemDetail.txval = Convert.ToDouble(itm.TaxableAmount); itemDetail.iamt = Convert.ToDouble(itm.IGSTAmt); itemDetail.camt = Convert.ToDouble(itm.CGSTAmt); itemDetail.samt = Convert.ToDouble(itm.SGSTAmt); invItem.itm_det = itemDetail; lineItems.Add(invItem); } inv.itms = lineItems; List <B2BAInv> invList = new List <B2BAInv>(); invList.Add(inv); b2baItem.inv = invList; b2ba.Add(b2baItem); return(b2ba); }