public JsonResult SetSupplierInvDetails(int acheadid, string achead, string invno, string Particulars, decimal Rate, int Qty, decimal amount, int currency, decimal Taxpercent, decimal netvalue)
      {
          Random rnd  = new Random();
          int    dice = rnd.Next(1, 7);  // creates a number between 1 and 6

          var invoice = new SupplierInvoiceDetailVM();

          invoice.AcHeadId    = acheadid;
          invoice.AcHeadName  = achead;
          invoice.InvNo       = invno + "_" + dice;
          invoice.Particulars = Particulars;
          invoice.Rate        = Rate;
          invoice.Quantity    = Qty;
          invoice.CurrencyID  = currency;
          var currencyMaster = db.CurrencyMasters.Find(currency);

          invoice.CurrencyAmount = Convert.ToDecimal(currencyMaster.ExchangeRate);
          invoice.Currency       = currencyMaster.CurrencyName;
          //var amount = (Qty * Rate);
          //var value = amount + (amount * Taxpercent / 100);

          invoice.Amount        = amount;
          invoice.Value         = netvalue;
          invoice.TaxPercentage = Taxpercent;

          return(Json(new { InvoiceDetails = invoice }, JsonRequestBehavior.AllowGet));
      }
      public JsonResult GetSupplierInvDetails(int Id)
      {
          Random rnd = new Random();
          // creates a number between 1 and 6

          var _invoice = db.SupplierInvoices.Find(Id);
          List <SupplierInvoiceDetailVM> _details  = new List <SupplierInvoiceDetailVM>();
          List <SupplierInvoiceDetailVM> _details1 = new List <SupplierInvoiceDetailVM>();

          _details = (from c in db.SupplierInvoiceDetails
                      join a in db.AcHeads on c.AcHeadID equals a.AcHeadID
                      join cu in db.CurrencyMasters on c.CurrencyID equals cu.CurrencyID
                      where c.SupplierInvoiceID == Id
                      select new SupplierInvoiceDetailVM {
                SupplierInvoiceDetailID = c.SupplierInvoiceDetailID, SupplierInvoiceID = c.SupplierInvoiceID, AcHeadId = c.AcHeadID, AcHeadName = a.AcHead1, Particulars = c.Particulars, TaxPercentage = c.TaxPercentage, CurrencyID = c.CurrencyID, Amount = c.Amount, Rate = c.Rate, Quantity = c.Quantity, Value = c.Value, Currency = cu.CurrencyCode
            }).ToList();

          //var details = (from c in db.SupplierInvoiceDetails
          //            where c.SupplierInvoiceID == Id
          //            select c).ToList();
          foreach (var item in _details)
          {
              int dice    = rnd.Next(1, 7);
              var invoice = new SupplierInvoiceDetailVM();
              invoice.SupplierInvoiceDetailID = item.SupplierInvoiceDetailID;
              invoice.AcHeadId    = item.AcHeadId;
              invoice.AcHeadName  = item.AcHeadName;
              invoice.InvNo       = _invoice.InvoiceNo + "_" + dice;
              invoice.Particulars = item.Particulars;
              invoice.Rate        = item.Rate;
              invoice.Quantity    = item.Quantity;
              invoice.CurrencyID  = item.CurrencyID;
              var currencyMaster = db.CurrencyMasters.Find(item.CurrencyID);
              invoice.CurrencyAmount = Convert.ToDecimal(currencyMaster.ExchangeRate);
              invoice.Currency       = currencyMaster.CurrencyName;
              //decimal amount = (item.Quantity * item.Rate);
              //decimal value = amount + (amount * Convert.ToDecimal(item.TaxPercentage) / 100);
              invoice.Amount        = item.Amount;
              invoice.Value         = item.Value;
              invoice.TaxPercentage = item.TaxPercentage;
              _details1.Add(invoice);
          }

          return(Json(new { InvoiceDetails = _details1 }, JsonRequestBehavior.AllowGet));
      }