示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }