public ActionResult DeleteInvoice(int id)
        {
            AcOPInvoiceDetail acopInvoiceD = entity.AcOPInvoiceDetails.Find(id);
            int acOPInvoiceMasterID        = acopInvoiceD.AcOPInvoiceMasterID.Value;
            int acjournalid = acopInvoiceD.AcJournalID.Value;

            entity.AcOPInvoiceDetails.Remove(acopInvoiceD);
            entity.SaveChanges();

            AcOPInvoiceMaster acOPInvoiceM = entity.AcOPInvoiceMasters.Find(acOPInvoiceMasterID);

            entity.AcOPInvoiceMasters.Remove(acOPInvoiceM);
            entity.SaveChanges();

            AcJournalMaster acJournalMaster = entity.AcJournalMasters.Find(acjournalid);

            entity.AcJournalMasters.Remove(acJournalMaster);
            entity.SaveChanges();

            AcJournalDetail acJournalD = entity.AcJournalDetails.Where(item => item.AcJournalID == acjournalid).FirstOrDefault();

            entity.AcJournalDetails.Remove(acJournalD);
            entity.SaveChanges();

            return(RedirectToAction("Index"));
        }
        public JsonResult GetGridData(OpeningInvoiceVM obj)
        {
            bool drORcr = false;

            if (obj.DebitCreditID == true)
            {
                drORcr = true;
            }
            else

            {
                drORcr = false;
            }
            //Save data in acJournalMaster
            AcJournalMaster objACJournalMaster = new AcJournalMaster();

            objACJournalMaster.TransDate = DateTime.Now;

            objACJournalMaster.AcCompanyID       = Convert.ToInt32(Session["AcCompanyID"]);
            objACJournalMaster.AcFinancialYearID = Convert.ToInt32(Session["fyearid"]);
            objACJournalMaster.AcJournalID       = objectSourceModel.GetMaxNumberAcJournalMasters();;
            objACJournalMaster.VoucherNo         = "";
            objACJournalMaster.StatusDelete      = false;
            objACJournalMaster.VoucherType       = "";
            objACJournalMaster.Remarks           = obj.Remark;
            objACJournalMaster.VoucherNo         = "";
            if (obj.CustomerHeadId > 0)
            {
                objACJournalMaster.TransType = 1;
            }
            if (obj.SupplierHeadId > 0)
            {
                objACJournalMaster.TransType = 2;
            }
            objACJournalMaster.UserID = Convert.ToInt32(Session["UserID"]);
            objACJournalMaster.Lock   = false;

            entity.AcJournalMasters.Add(objACJournalMaster);
            entity.SaveChanges();

            //save data in acOpInvoiceMaster
            AcOPInvoiceMaster acOpMaster = new AcOPInvoiceMaster();
            int id = objectSourceModel.GetMaxNumberAcOpeningInvoiceMaster();

            if (id == 0)
            {
                acOpMaster.AcOPInvoiceMasterID = 1;
            }
            else
            {
                acOpMaster.AcOPInvoiceMasterID = objectSourceModel.GetMaxNumberAcOpeningInvoiceMaster();
            }
            acOpMaster.AcFinancialYearID = Convert.ToInt32(Session["fyearid"]);
            acOpMaster.OPDate            = obj.OPDate;
            if (obj.CustomerHeadId > 0)
            {
                acOpMaster.AcHeadID = obj.CustomerHeadId;
            }
            if (obj.SupplierHeadId > 0)
            {
                acOpMaster.AcHeadID = obj.SupplierHeadId;
            }

            // acOpMaster.PartyID=Convert.ToInt32( Session["AcCompanyID"]);
            acOpMaster.Remarks = obj.Remark;


            if (obj.SupplierHeadId > 0)
            {
                acOpMaster.PartyID = obj.SupplierHeadId;
            }
            else
            {
                acOpMaster.PartyID = obj.CustomerHeadId;
            }


            entity.AcOPInvoiceMasters.Add(acOpMaster);
            entity.SaveChanges();

            //save data in acJournalDetails
            //if (objACJournalMaster.AcJournalID > 0)
            //{
            //    var achead = objectSourceModel.GetAcHeadAssign();
            //    if (achead != null)
            //    {

            //        AcJournalDetail acJournalDetailsDR = new AcJournalDetail();

            //        acJournalDetailsDR.Amount = obj.InvoiceAmount;
            //        acJournalDetailsDR.Remarks = obj.Remark;
            //        acJournalDetailsDR.AcJournalID = objACJournalMaster.AcJournalID;
            //        acJournalDetailsDR.BranchID =Convert.ToInt32( Session["branchid"]);

            //        acJournalDetailsDR.AcJournalDetailID = objectSourceModel.GetMaxNumberAcJournalDetails();
            //        if (obj.CustomerHeadId != 0)
            //        {
            //            acJournalDetailsDR.AcHeadID = achead.CustomerControlAcID;
            //        }
            //        else
            //        {
            //            acJournalDetailsDR.AcHeadID = achead.SupplierControlAcID;
            //        }
            //        entity.AcJournalDetails.Add(acJournalDetailsDR);
            //        entity.SaveChanges();

            //        AcJournalDetail acJournalDetailsCR = new AcJournalDetail();

            //        acJournalDetailsCR.Amount = (-1) * Convert.ToDecimal(obj.InvoiceAmount);
            //        acJournalDetailsDR.Remarks = obj.Remark;
            //        acJournalDetailsDR.AcJournalID = objACJournalMaster.AcJournalID;
            //        acJournalDetailsDR.BranchID = Convert.ToInt32(Session["branchid"]);
            //        acJournalDetailsCR.AcJournalDetailID = objectSourceModel.GetMaxNumberAcJournalDetails();
            //        if (obj.CustomerHeadId != 0)
            //        {
            //            acJournalDetailsCR.AcHeadID = achead.CustomerControlAcID;
            //        }
            //        else
            //        {
            //            acJournalDetailsCR.AcHeadID = achead.SupplierControlAcID;
            //        }
            //        entity.AcJournalDetails.Add(acJournalDetailsCR);
            //        entity.SaveChanges();
            //    }
            //}

            return(new JsonResult
            {
                Data = new
                {
                    success = true,
                    AcJournalID = objACJournalMaster.AcJournalID,
                    AcOpeningMasterID = acOpMaster.AcOPInvoiceMasterID,
                    DebitOrCredit = drORcr
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }