Create Json for E-Invoice ( Indian Government format )
In this article, Am sharing a code to generate JSON from the database. Method Write_json will have 3 params
1. connectionString: Your Connection string
2. DownloadPath: Json download Path ( Example : F:\Temp\Json )
3. T_Table_Name: table or view name
Ref link: https://einv-apisandbox.nic.in/
Note: don't change the column name. I defined it bcoz it was mention in the government document ( easy to handle )
public void Write_json(string connectionString, string DownloadPath, string T_Table_Name)
{
string FileName = "";
List<string> InvoiceNo = new List<string>();
StringBuilder sb1 = new StringBuilder();
sb1.Append("log : " + DateTime.Now.ToString());
WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is Created at", DateTime.Now));
try
{
AutoSQL autoSQL = new AutoSQL();
//autoSQL.Loop_Pending_Script( connectionString, MasterTablePath, ScriptPath);
DataTable EInvoice = AutoSQL.GetDataTable(connectionString, "select distinct SellerDtls_Gstin,SellerDtls_LglNm,SellerDtls_TrdNm, " +
" SellerDtls_Addr1, SellerDtls_Addr2, SellerDtls_Loc, SellerDtls_Pin, SellerDtls_Stcd, SellerDtls_Ph, SellerDtls_Em, Buyer_ErDtls_Gstin, Buyer_ErDtls_LglNm, Buyer_ErDtls_TrdNm, Buyer_ErDtls_Pos, Buyer_ErDtls_Addr1, " +
" Buyer_ErDtls_Addr2, Buyer_ErDtls_Loc, Buyer_ErDtls_Pin, Buyer_ErDtls_Stcd, Buyer_ErDtls_Ph, Buyer_ErDtls_Em, DocDtls_Typ, DocDtls_No, DocDtls_Dt, ExpDtls_ShipBNo, ExpDtls_ShipBDt, ExpDtls_Port, ExpDtls_RefClm, " +
" ExpDtls_ForCur, ExpDtls_CntCode, ExpDtls_ExpDuty, TranDtls_TaxSch, TranDtls_SupTyp, TranDtls_IgstOnIntra, TranDtls_RegRev, TranDtls_EcmGstin, ValDtls_AssVal, ValDtls_IgstVal, ValDtls_CgstVal, ValDtls_SgstVal, " +
" ValDtls_CesVal, ValDtls_StCesVal, ValDtls_Discount, ValDtls_OthChrg, ValDtls_RndOffAmt, ValDtls_TotInvVal, Ship_Gstin,Ship_LglNm,Ship_TrdNm,Ship_Addr1,Ship_Addr2,Ship_Loc,Ship_Pin,Ship_Stcd,Ewb_TransId,Ewb_TransName,Ewb_TransMode,Ewb_Distance,Ewb_TransDocNo,Ewb_TransDocDt,Ewb_VehNo,Ewb_VehType,DispDtls_Nm,DispDtls_Addr1, DispDtls_Addr2, DispDtls_Loc, DispDtls_Pin, DispDtls_Stcd from " + T_Table_Name + " where JSONFlag='Y' and Status = 'A' ");
List<EInvoice> EListitemList = new List<EInvoice>();
WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is itemList at", DateTime.Now));
WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is itemList at", EInvoice.Rows.Count));
ItemList[] itemList = new ItemList[EInvoice.Rows.Count];
if (EInvoice.Rows.Count > 0)
{
WriteLog("ConsoleLog", String.Format("{0} @ {1}", "", "160"));
for (int j = 0; j < EInvoice.Rows.Count; j++)
{
WriteLog("ConsoleLog", String.Format("{0} @ {1}", "", "163"));
TranDtls tranDtls = new TranDtls();
DocDtls docDtls = new DocDtls();
Seller_Dtls SellerDtls = new Seller_Dtls();
Buyer_Dtls BuyerrDtls = new Buyer_Dtls();
Shipping_Dtls ShipDtls = new Shipping_Dtls();
ValDtls valDtls = new ValDtls();
EwbDtls Ewb_Dtls = new EwbDtls();
ExpDtls expDtls = new ExpDtls();
Disp_Dtls DispDtls = new Disp_Dtls();
EInvoice eInvoice = new EInvoice();
eInvoice.Version = "1.1";
InvoiceNo.Add(EInvoice.Rows[j]["DocDtls_No"].ToString());
docDtls.Typ = EInvoice.Rows[j]["DocDtls_Typ"].ToString();
FileName = EInvoice.Rows[0]["DocDtls_No"].ToString();
docDtls.No = EInvoice.Rows[j]["DocDtls_No"].ToString();
docDtls.Dt = EInvoice.Rows[j]["DocDtls_Dt"].ToString();
eInvoice.DocDtls = docDtls;
tranDtls.TaxSch = EInvoice.Rows[j]["TranDtls_TaxSch"].ToString();
tranDtls.SupTyp = EInvoice.Rows[j]["TranDtls_SupTyp"].ToString();
tranDtls.IgstOnIntra = EInvoice.Rows[j]["TranDtls_IgstOnIntra"].ToString();
tranDtls.RegRev = EInvoice.Rows[j]["TranDtls_RegRev"].ToString();
tranDtls.EcmGstin = string.IsNullOrEmpty(EInvoice.Rows[j]["TranDtls_EcmGstin"].ToString()) ? null : EInvoice.Rows[j]["TranDtls_EcmGstin"].ToString();
eInvoice.TranDtls = tranDtls;
SellerDtls.Gstin = EInvoice.Rows[j]["SellerDtls_Gstin"].ToString();
SellerDtls.LglNm = EInvoice.Rows[j]["SellerDtls_LglNm"].ToString();
SellerDtls.TrdNm = EInvoice.Rows[j]["SellerDtls_TrdNm"].ToString();
SellerDtls.Addr1 = EInvoice.Rows[j]["SellerDtls_Addr1"].ToString();
SellerDtls.Addr2 = EInvoice.Rows[j]["SellerDtls_Addr2"].ToString();
SellerDtls.Loc = EInvoice.Rows[j]["SellerDtls_Loc"].ToString();
SellerDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["SellerDtls_Pin"].ToString()));
SellerDtls.Stcd = EInvoice.Rows[j]["SellerDtls_Stcd"].ToString();
SellerDtls.Ph = EInvoice.Rows[j]["SellerDtls_Ph"].ToString();
SellerDtls.Em = string.IsNullOrEmpty(EInvoice.Rows[j]["SellerDtls_Em"].ToString()) ? null : EInvoice.Rows[j]["SellerDtls_Em"].ToString(); ;
eInvoice.SellerDtls = SellerDtls;
BuyerrDtls.Gstin = EInvoice.Rows[j]["Buyer_ErDtls_Gstin"].ToString();
BuyerrDtls.LglNm = EInvoice.Rows[j]["Buyer_ErDtls_LglNm"].ToString();
BuyerrDtls.TrdNm = EInvoice.Rows[j]["Buyer_ErDtls_TrdNm"].ToString();
BuyerrDtls.Pos = EInvoice.Rows[j]["Buyer_ErDtls_Pos"].ToString();
BuyerrDtls.Addr1 = EInvoice.Rows[j]["Buyer_ErDtls_Addr1"].ToString();
BuyerrDtls.Addr2 = EInvoice.Rows[j]["Buyer_ErDtls_Addr2"].ToString();
BuyerrDtls.Loc = EInvoice.Rows[j]["Buyer_ErDtls_Loc"].ToString();
BuyerrDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["Buyer_ErDtls_Pin"].ToString()));
BuyerrDtls.Stcd = EInvoice.Rows[j]["Buyer_ErDtls_Stcd"].ToString();
BuyerrDtls.Ph = string.IsNullOrEmpty(EInvoice.Rows[j]["Buyer_ErDtls_Ph"].ToString()) ? null : EInvoice.Rows[j]["Buyer_ErDtls_Ph"].ToString(); ;
BuyerrDtls.Em = string.IsNullOrEmpty(EInvoice.Rows[j]["Buyer_ErDtls_Em"].ToString()) ? null : EInvoice.Rows[j]["Buyer_ErDtls_Em"].ToString(); ;
eInvoice.BuyerDtls = BuyerrDtls;
DispDtls.Nm = EInvoice.Rows[j]["DispDtls_Nm"].ToString();
DispDtls.Addr1 = EInvoice.Rows[j]["DispDtls_Addr1"].ToString();
DispDtls.Addr2 = EInvoice.Rows[j]["DispDtls_Addr2"].ToString();
DispDtls.Loc = EInvoice.Rows[j]["DispDtls_Loc"].ToString();
DispDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["DispDtls_Pin"].ToString()));
DispDtls.Stcd = EInvoice.Rows[j]["DispDtls_Stcd"].ToString();
if (DispDtls.Nm == "")
{
eInvoice.DispDtls = null;
}
else
{
eInvoice.DispDtls = DispDtls;
}
ShipDtls.Gstin = EInvoice.Rows[j]["Ship_Gstin"].ToString();
ShipDtls.LglNm = EInvoice.Rows[j]["Ship_LglNm"].ToString();
ShipDtls.TrdNm = EInvoice.Rows[j]["Ship_TrdNm"].ToString();
ShipDtls.Addr1 = EInvoice.Rows[j]["Ship_Addr1"].ToString();
ShipDtls.Addr2 = EInvoice.Rows[j]["Ship_Addr2"].ToString();
ShipDtls.Loc = EInvoice.Rows[j]["Ship_Loc"].ToString();
ShipDtls.Pin = int.Parse(CheckNull(EInvoice.Rows[j]["Ship_Pin"].ToString()));
ShipDtls.Stcd = EInvoice.Rows[j]["Ship_Stcd"].ToString();
if (ShipDtls.Gstin == "")
{
eInvoice.ShipDtls = null;
}
else
{
eInvoice.ShipDtls = ShipDtls;
}
Ewb_Dtls.TransId = EInvoice.Rows[j]["Ewb_TransId"].ToString();
Ewb_Dtls.TransName = EInvoice.Rows[j]["Ewb_TransName"].ToString();
Ewb_Dtls.TransMode = EInvoice.Rows[j]["Ewb_TransMode"].ToString();
Ewb_Dtls.Distance = decimal.Parse(CheckNull(EInvoice.Rows[j]["Ewb_Distance"].ToString()));
Ewb_Dtls.TransDocNo = EInvoice.Rows[j]["Ewb_TransDocNo"].ToString();
Ewb_Dtls.TransDocDt = EInvoice.Rows[j]["Ewb_TransDocDt"].ToString();
Ewb_Dtls.VehNo = EInvoice.Rows[j]["Ewb_VehNo"].ToString();
Ewb_Dtls.VehType = EInvoice.Rows[j]["Ewb_VehType"].ToString();
if (Ewb_Dtls.TransId == "") {
eInvoice.EwbDtls = null;
} else {
eInvoice.EwbDtls = Ewb_Dtls;
}
string jj = EInvoice.Rows[j]["ValDtls_AssVal"].ToString();
valDtls.AssVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_AssVal"].ToString()));
valDtls.IgstVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_IgstVal"].ToString()));
valDtls.CgstVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_CgstVal"].ToString()));
valDtls.SgstVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_SgstVal"].ToString()));
valDtls.CesVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_CesVal"].ToString()));
valDtls.StCesVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_StCesVal"].ToString()));
valDtls.Discount = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_Discount"].ToString()));
valDtls.OthChrg = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_OthChrg"].ToString()));
valDtls.RndOffAmt = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_RndOffAmt"].ToString()));
valDtls.TotInvVal = decimal.Parse(CheckNull(EInvoice.Rows[j]["ValDtls_TotInvVal"].ToString()));
eInvoice.ValDtls = valDtls;
expDtls.ShipBNo = EInvoice.Rows[j]["ExpDtls_ShipBNo"].ToString();
expDtls.ShipBDt = EInvoice.Rows[j]["ExpDtls_ShipBDt"].ToString();
expDtls.Port = EInvoice.Rows[j]["ExpDtls_Port"].ToString();
expDtls.RefClm = EInvoice.Rows[j]["ExpDtls_RefClm"].ToString();
expDtls.ForCur = EInvoice.Rows[j]["ExpDtls_ForCur"].ToString();
expDtls.CntCode = EInvoice.Rows[j]["ExpDtls_CntCode"].ToString();
expDtls.ExpDuty = decimal.Parse(CheckNull(EInvoice.Rows[j]["ExpDtls_ExpDuty"].ToString()));
if (expDtls.ShipBNo.ToString() == "0" || expDtls.ShipBNo.ToString() == "")
{
eInvoice.ExpDtls = null;
}
else
{
eInvoice.ExpDtls = expDtls;
}
WriteLog("ConsoleLog", String.Format("{0} @ {1}", "", "245"));
List<ItemList> ListitemList = new List<ItemList>();
DataTable EItems = AutoSQL.GetDataTable(connectionString, " select ItemList_SlNo,ItemList_PrdDesc,ItemList_IsServc,ItemList_HsnCd, ItemList_Qty,ItemList_Unit, " +
"ItemList_UnitPrice,ItemList_TotAmt,ItemList_Discount,ItemList_PreTaxVal,ItemList_AssAmt,ItemList_GstRt,ItemList_IgstAmt,ItemList_CgstAmt,ItemList_SgstAmt, " +
"ItemList_CesRt,ItemList_CesAmt,ItemList_CesNonAdvlAmt,ItemList_OthChrg,ItemList_TotItemVal,ItemList_StateCesRt,ItemList_StateCesAmt,ItemList_StateCesNonAdvlAmt from " + T_Table_Name + " where DocDtls_No='" + docDtls.No + "' and Status = 'A' ");
//" group by ItemList_SlNo, ItemList_PrdDesc, ItemList_IsServc, ItemList_HsnCd, ItemList_Unit, " +
//"ItemList_UnitPrice,ItemList_TotAmt,ItemList_Discount,ItemList_PreTaxVal,ItemList_AssAmt,ItemList_GstRt,ItemList_IgstAmt,ItemList_CgstAmt,ItemList_SgstAmt, " +
//"ItemList_CesRt,ItemList_CesAmt,ItemList_CesNonAdvlAmt,ItemList_OthChrg,ItemList_TotItemVal,ItemList_StateCesRt,ItemList_StateCesAmt,ItemList_StateCesNonAdvlAmt " );
if (EItems.Rows.Count > 0)
{
for (int i = 0; i < EItems.Rows.Count; i++)
{
ItemList SetitemList = new ItemList();
SetitemList.SlNo = (EItems.Rows[i]["ItemList_SlNo"].ToString());
SetitemList.PrdDesc = (EItems.Rows[i]["ItemList_PrdDesc"].ToString());
SetitemList.IsServc = (EItems.Rows[i]["ItemList_IsServc"].ToString());
SetitemList.HsnCd = (EItems.Rows[i]["ItemList_HsnCd"].ToString());
SetitemList.Qty = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_Qty"].ToString()));
SetitemList.Unit = EItems.Rows[i]["ItemList_Unit"].ToString();
SetitemList.UnitPrice = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_UnitPrice"].ToString()));
SetitemList.TotAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_TotAmt"].ToString()));
SetitemList.Discount = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_Discount"].ToString()));
SetitemList.PreTaxVal = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_PreTaxVal"].ToString()));
SetitemList.AssAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_AssAmt"].ToString()));
SetitemList.GstRt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_GstRt"].ToString()));
SetitemList.IgstAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_IgstAmt"].ToString()));
SetitemList.CgstAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CgstAmt"].ToString()));
SetitemList.SgstAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_SgstAmt"].ToString()));
SetitemList.CesRt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CesRt"].ToString()));
SetitemList.CesAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CesAmt"].ToString()));
SetitemList.CesNonAdvlAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_CesNonAdvlAmt"].ToString()));
SetitemList.StateCesRt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_StateCesRt"].ToString()));
SetitemList.StateCesAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_StateCesAmt"].ToString()));
SetitemList.StateCesNonAdvlAmt = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_StateCesNonAdvlAmt"].ToString()));
SetitemList.OthChrg = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_OthChrg"].ToString()));
SetitemList.TotItemVal = decimal.Parse(CheckNull(EItems.Rows[i]["ItemList_TotItemVal"].ToString()));
// List<BchDtls> bchDtlsList = new List<BchDtls>();
string SQLm = "select BchDtls_Nm,BchDtls_ExpDt,BchDtls_WrDt from " + T_Table_Name+ " where DocDtls_No='" + docDtls.No + "' and ItemList_SlNo ='" + SetitemList.SlNo + "' and Status = 'A' ";
DataTable EBatch = AutoSQL.GetDataTable(connectionString, SQLm);
if (EBatch.Rows.Count > 0)
{
//for (int x = 0; x < EBatch.Rows.Count; x++)
//{
BchDtls bchDtls = new BchDtls();
bchDtls.Nm = (EBatch.Rows[0]["BchDtls_Nm"].ToString());
bchDtls.ExpDt = string.IsNullOrEmpty((EBatch.Rows[0]["BchDtls_ExpDt"].ToString())) ? null : (EBatch.Rows[0]["BchDtls_ExpDt"].ToString()); ;
bchDtls.WrDt = string.IsNullOrEmpty((EBatch.Rows[0]["BchDtls_WrDt"].ToString())) ? null : (EBatch.Rows[0]["BchDtls_WrDt"].ToString());
// bchDtlsList.Add(bchDtls);
// }
if (bchDtls.Nm.ToString() == "")
{
SetitemList.BchDtls = null;
}
else
{
SetitemList.BchDtls = bchDtls;
}
}
ListitemList.Add(SetitemList);
}
}
eInvoice.ItemList = ListitemList.ToArray();
EListitemList.Add(eInvoice);
}
var obj = EListitemList;
string json = JsonConvert.SerializeObject(obj, Formatting.Indented);
string writepath = DownloadPath + "" + FileName.Replace("/", "-") + ".json";
System.IO.File.WriteAllText(writepath, json);
// WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Json : ", json));
// int In = InvoiceNo.Count;
WriteLog("ConsoleLog", String.Format("{0} @ {1}", "Log is Created at", DateTime.Now));
}
}
catch (Exception ex)
{
WriteLog("ConsoleLog", String.Format("{0} @ {1}", ex.ToString(), DateTime.Now));
File.AppendAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "log.txt", ex.ToString());
sb1.Clear();
}
//foreach (string InNo in InvoiceNo)
//{
// UpdateJson(connectionString, "J", UpdateTableName, InNo);
// WriteLog("\n ConsoleLog", String.Format("{0} @ {1}", "Invoice No ", InNo));
//}
}
Model For JSON
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
namespace AutoExe
{
class EinvoiceModel
{
}
public partial class EInvoice
{
[JsonProperty("Version")]
public string Version { get; set; }
[JsonProperty("TranDtls")]
public TranDtls TranDtls { get; set; }
[JsonProperty("DocDtls")]
public DocDtls DocDtls { get; set; }
[JsonProperty("SellerDtls")]
public Seller_Dtls SellerDtls { get; set; }
[JsonProperty("BuyerDtls")]
public Buyer_Dtls BuyerDtls { get; set; }
[JsonProperty("DispDtls")]
public Disp_Dtls DispDtls { get; set; }
[JsonProperty("ShipDtls")]
public Shipping_Dtls ShipDtls { get; set; }
[JsonProperty("ValDtls")]
public ValDtls ValDtls { get; set; }
[JsonProperty("ExpDtls")]
public ExpDtls ExpDtls { get; set; }
[JsonProperty("EwbDtls")]
public EwbDtls EwbDtls { get; set; }
[JsonProperty("ItemList")]
public ItemList[] ItemList { get; set; }
}
public class ValDtls
{
public decimal? AssVal { get; set; }
public decimal? IgstVal { get; set; }
public decimal? CgstVal { get; set; }
public decimal? SgstVal { get; set; }
public decimal? CesVal { get; set; }
public decimal? StCesVal { get; set; }
public decimal? Discount { get; set; }
public decimal? OthChrg { get; set; }
public decimal? RndOffAmt { get; set; }
public decimal? TotInvVal { get; set; }
}
public partial class Buyer_Dtls
{
[JsonProperty("Gstin")]
public string Gstin { get; set; }
[JsonProperty("LglNm")]
public string LglNm { get; set; }
[JsonProperty("TrdNm")]
public object TrdNm { get; set; }
[JsonProperty("Pos")]
//[JsonConverter(typeof(ParseStringConverter))]
public string Pos { get; set; }
[JsonProperty("Addr1")]
public string Addr1 { get; set; }
[JsonProperty("Addr2")]
public object Addr2 { get; set; }
[JsonProperty("Loc")]
public string Loc { get; set; }
[JsonProperty("Pin")]
public long Pin { get; set; }
[JsonProperty("Stcd")]
//[JsonConverter(typeof(ParseStringConverter))]
public object Stcd { get; set; }
[JsonProperty("Ph")]
public object Ph { get; set; }
[JsonProperty("Em")]
public object Em { get; set; }
}
public partial class Disp_Dtls
{
[JsonProperty("Nm")]
public string Nm { get; set; }
[JsonProperty("Addr1")]
public string Addr1 { get; set; }
[JsonProperty("Addr2")]
public object Addr2 { get; set; }
[JsonProperty("Loc")]
public string Loc { get; set; }
[JsonProperty("Pin")]
public long Pin { get; set; }
[JsonProperty("Stcd")]
//[JsonConverter(typeof(ParseStringConverter))]
public object Stcd { get; set; }
}
public partial class Shipping_Dtls
{
[JsonProperty("Gstin")]
public string Gstin { get; set; }
[JsonProperty("LglNm")]
public string LglNm { get; set; }
[JsonProperty("TrdNm")]
public object TrdNm { get; set; }
[JsonProperty("Addr1")]
public string Addr1 { get; set; }
[JsonProperty("Addr2")]
public object Addr2 { get; set; }
[JsonProperty("Loc")]
public string Loc { get; set; }
[JsonProperty("Pin")]
public int Pin { get; set; }
[JsonProperty("Stcd")]
//[JsonConverter(typeof(ParseStringConverter))]
public object Stcd { get; set; }
}
public partial class Seller_Dtls
{
[JsonProperty("Gstin")]
public string Gstin { get; set; }
[JsonProperty("LglNm")]
public string LglNm { get; set; }
[JsonProperty("TrdNm")]
public object TrdNm { get; set; }
[JsonProperty("Addr1")]
public string Addr1 { get; set; }
[JsonProperty("Addr2")]
public object Addr2 { get; set; }
[JsonProperty("Loc")]
public string Loc { get; set; }
[JsonProperty("Pin")]
public int Pin { get; set; }
[JsonProperty("Stcd")]
//[JsonConverter(typeof(ParseStringConverter))]
public object Stcd { get; set; }
[JsonProperty("Ph")]
public object Ph { get; set; }
[JsonProperty("Em")]
public object Em { get; set; }
}
public partial class DocDtls
{
[JsonProperty("Typ")]
public string Typ { get; set; }
[JsonProperty("No")]
public string No { get; set; }
[JsonProperty("Dt")]
public string Dt { get; set; }
}
public partial class ExpDtls
{
[JsonProperty("ShipBNo")]
public object ShipBNo { get; set; }
[JsonProperty("ShipBDt")]
public object ShipBDt { get; set; }
[JsonProperty("Port")]
public object Port { get; set; }
[JsonProperty("RefClm")]
public object RefClm { get; set; }
[JsonProperty("ForCur")]
public object ForCur { get; set; }
[JsonProperty("CntCode")]
public object CntCode { get; set; }
[JsonProperty("ExpDuty")]
public decimal ExpDuty { get; set; }
}
public partial class ItemList
{
[JsonProperty("SlNo")]
//[JsonConverter(typeof(ParseStringConverter))]
public string SlNo { get; set; }
[JsonProperty("PrdDesc")]
public string PrdDesc { get; set; }
[JsonProperty("IsServc")]
public string IsServc { get; set; }
[JsonProperty("HsnCd")]
//[JsonConverter(typeof(ParseStringConverter))]
public string HsnCd { get; set; }
[JsonProperty("Qty")]
public decimal Qty { get; set; }
[JsonProperty("Unit")]
public string Unit { get; set; }
[JsonProperty("UnitPrice")]
public decimal UnitPrice { get; set; }
[JsonProperty("TotAmt")]
public decimal TotAmt { get; set; }
[JsonProperty("Discount")]
public decimal Discount { get; set; }
[JsonProperty("PreTaxVal")]
public decimal PreTaxVal { get; set; }
[JsonProperty("AssAmt")]
public decimal AssAmt { get; set; }
[JsonProperty("GstRt")]
public decimal GstRt { get; set; }
[JsonProperty("IgstAmt")]
public decimal IgstAmt { get; set; }
[JsonProperty("CgstAmt")]
public decimal CgstAmt { get; set; }
[JsonProperty("SgstAmt")]
public decimal SgstAmt { get; set; }
[JsonProperty("CesRt")]
public decimal CesRt { get; set; }
[JsonProperty("CesAmt")]
public decimal CesAmt { get; set; }
[JsonProperty("CesNonAdvlAmt")]
public decimal CesNonAdvlAmt { get; set; }
[JsonProperty("StateCesRt")]
public decimal StateCesRt { get; set; }
[JsonProperty("StateCesAmt")]
public decimal StateCesAmt { get; set; }
[JsonProperty("StateCesNonAdvlAmt")]
public decimal StateCesNonAdvlAmt { get; set; }
[JsonProperty("OthChrg")]
public decimal OthChrg { get; set; }
[JsonProperty("TotItemVal")]
public decimal TotItemVal { get; set; }
[JsonProperty("BchDtls")]
public BchDtls BchDtls { get; set; }
}
public partial class BchDtls
{
[JsonProperty("Nm")]
public string Nm { get; set; }
[JsonProperty("ExpDt")]
public string ExpDt { get; set; }
[JsonProperty("WrDt")]
public string WrDt { get; set; }
}
public partial class TranDtls
{
[JsonProperty("TaxSch")]
public string TaxSch { get; set; }
[JsonProperty("SupTyp")]
public string SupTyp { get; set; }
[JsonProperty("IgstOnIntra")]
public string IgstOnIntra { get; set; }
[JsonProperty("RegRev")]
public object RegRev { get; set; }
[JsonProperty("EcmGstin")]
public object EcmGstin { get; set; }
}
public class EwbDtls
{
public string TransId { get; set; }
public string TransName { get; set; }
public string TransMode { get; set; }
public decimal Distance { get; set; }
public string TransDocNo { get; set; }
public string TransDocDt { get; set; }
public string VehNo { get; set; }
public string VehType { get; set; }
}
public class JsonoutRoot
{
public long AckNo { get; set; }
public string AckDt { get; set; }
public string Irn { get; set; }
public string SignedInvoice { get; set; }
public string SignedQRCode { get; set; }
public string Status { get; set; }
public object EwbNo { get; set; }
public object EwbDt { get; set; }
public object EwbValidTill { get; set; }
public object Remarks { get; set; }
}
public class ExcelOut
{
public string ExInvNo { get; set; }
public string AckNo { get; set; }
public string AckDt { get; set; }
public string Irn { get; set; }
public string QRImage { get; set; }
public string SignedQRCode { get; set; }
public string Status { get; set; }
}
}
No comments: