Esempio n. 1
0
        public ActionResult EditPurchaseHeader(int id = 0)
        {
            TBPURCHASEHEADER obj = dbContext.TBPURCHASEHEADERs.Where(x => x.PurchaseId == id).FirstOrDefault();

            if (obj == null)
            {
                return(HttpNotFound());
            }
            ViewBag.AccountIdList      = GetAccountId();
            ViewBag.CustomerIdList     = GetAccountId();
            ViewBag.PurchaseHeaderList = dbContext.TBPURCHASEHEADERs.ToList();
            return(View("PurchaseHeader", obj));
        }
Esempio n. 2
0
        public ActionResult PurchaseHeaderSaveChanges(PurachaseDeatil obj)
        {
            TBPURCHASEHEADER objTBPURCHASEHEADER = new TBPURCHASEHEADER();
            TBPURCHASEDETAIL objTBPURCHASEDETAIL = new TBPURCHASEDETAIL();

            if (obj.PurchaseId > 0)
            {
                TBPURCHASEHEADER objbrand = dbContext.TBPURCHASEHEADERs.Where(x => x.PurchaseId == obj.PurchaseId).FirstOrDefault();

                objbrand.PurDate     = obj.PurDate;
                objbrand.BillDate    = obj.BillDate;
                objbrand.BillNo      = obj.BillNo;
                objbrand.PaymentMode = obj.PaymentMode;
                objbrand.ACCOUNTID   = obj.ACCOUNTID;
                objbrand.CustomerId  = obj.CustomerId;
                dbContext.SaveChanges();
            }
            else
            {
                objTBPURCHASEHEADER.PurDate     = obj.PurDate;
                objTBPURCHASEHEADER.BillDate    = obj.BillDate;
                objTBPURCHASEHEADER.BillNo      = obj.BillNo;
                objTBPURCHASEHEADER.PaymentMode = obj.PaymentMode;
                objTBPURCHASEHEADER.ACCOUNTID   = obj.ACCOUNTID;
                objTBPURCHASEHEADER.CustomerId  = obj.CustomerId;

                dbContext.TBPURCHASEHEADERs.Add(objTBPURCHASEHEADER);
                dbContext.SaveChanges();
                decimal grandtotal = 0;
                var     ids        = dbContext.TBPURCHASEHEADERs.OrderByDescending(p => p.PurchaseId).FirstOrDefault();
                if (ids.PurchaseId > 0)
                {
                    foreach (var item in obj.purachasedetail)
                    {
                        TBITEMMASTERHEADER objTBITEMMASTERHEADER = dbContext.TBITEMMASTERHEADERs.Where(x => x.ITEMID == item.ItemID).FirstOrDefault();
                        TBTAXCONFIG        objtbtaxconfig        = dbContext.TBTAXCONFIGs.Where(x => x.TAXID == objTBITEMMASTERHEADER.PURTAXID).FirstOrDefault();

                        item.Tax2 = objtbtaxconfig.TAX2_;

                        item.Tax3                        = objtbtaxconfig.TAX3_;
                        item.SurCharge                   = objtbtaxconfig.SURONTAX3;
                        objTBPURCHASEDETAIL.ItemID       = item.ItemID;
                        objTBPURCHASEDETAIL.SizeID       = item.SizeID;
                        objTBPURCHASEDETAIL.PurchaseId   = ids.PurchaseId;
                        objTBPURCHASEDETAIL.Quantity     = item.Quantity;
                        objTBPURCHASEDETAIL.BaseRate     = item.BaseRate;
                        objTBPURCHASEDETAIL.PurchaseRate = item.PurchaseRate;
                        objTBPURCHASEDETAIL.SaleRate     = item.SaleRate;
                        objTBPURCHASEDETAIL.MRP          = item.MRP;
                        objTBPURCHASEDETAIL.GAmount      = item.GAmount;
                        objTBPURCHASEDETAIL.Cd           = item.Cd;
                        objTBPURCHASEDETAIL.Td           = item.Td == null?0:item.Td;
                        objTBPURCHASEDETAIL.TdVal        = item.TdVal == null ? 0 : item.TdVal;
                        objTBPURCHASEDETAIL.Tax1         = item.Tax1 == null ? 0 : item.Tax1;
                        objTBPURCHASEDETAIL.Tax1Val      = item.Tax1Val == null ? 0 : item.Tax1Val;
                        // objbrand.CdVal = obj.CdVal;
                        decimal gAmount   = Convert.ToDecimal(item.GAmount);
                        decimal cd        = Convert.ToDecimal(item.Cd);
                        decimal cdval     = (cd * gAmount / 100);
                        decimal netamount = gAmount - cdval;
                        decimal grosscd   = netamount;
                        objTBPURCHASEDETAIL.CdVal = cdval;
                        objTBPURCHASEDETAIL.TdVal = item.TdVal;

                        objTBPURCHASEDETAIL.Tax1 = item.Tax1;
                        objTBPURCHASEDETAIL.Tax2 = item.Tax2;
                        decimal tax2    = Convert.ToDecimal(item.Tax2);
                        decimal tax2val = (netamount * tax2) / (100 + tax2);
                        netamount = netamount - tax2val;

                        objTBPURCHASEDETAIL.Tax3 = item.Tax3;
                        decimal tax3    = Convert.ToDecimal(item.Tax3);
                        decimal tax3val = (netamount * tax3) / 100;
                        netamount = netamount + tax3val;
                        decimal SurCharge     = Convert.ToDecimal(item.SurCharge);
                        decimal surcharegeval = (tax3val * SurCharge) / 100;
                        netamount = netamount + surcharegeval;
                        //objTBPURCHASEDETAIL.Tax1Val = tax2;
                        objTBPURCHASEDETAIL.Tax2Val       = tax2val;
                        objTBPURCHASEDETAIL.Tax3Val       = tax3val;
                        objTBPURCHASEDETAIL.NetAmount     = netamount;
                        objTBPURCHASEDETAIL.PurchaseAC    = objtbtaxconfig.SALE_PURACCOUNT;
                        objTBPURCHASEDETAIL.PurchaseTaxAc = objtbtaxconfig.SALES_PURTAXACCOUNT;
                        objTBPURCHASEDETAIL.SurChargeAC   = objtbtaxconfig.SURCHARGEACCOUNT;
                        objTBPURCHASEDETAIL.Tax1AC        = objtbtaxconfig.TAX1ACCOUNT;
                        objTBPURCHASEDETAIL.Tax2AC        = objtbtaxconfig.TAX2ACCOUNT;
                        objTBPURCHASEDETAIL.SurCharge     = SurCharge;
                        objTBPURCHASEDETAIL.SurChargeVal  = surcharegeval;
                        grandtotal += netamount;

                        dbContext.TBPURCHASEDETAILS.Add(objTBPURCHASEDETAIL);
                        dbContext.SaveChanges();

                        TBSTOCK objstock = new TBSTOCK();
                        objstock.ItemId    = item.ItemID;
                        objstock.SizeId    = item.SizeID;
                        objstock.STType    = "PUR";
                        objstock.EntryCode = ids.PurchaseId;
                        objstock.FDDate    = obj.PurDate;
                        objstock.Quantity  = item.Quantity;
                        dbContext.TBSTOCKs.Add(objstock);
                        dbContext.SaveChanges();

                        //Tax2 account
                        if (tax2val != 0)
                        {
                            TBDEBIT objDebit = new TBDEBIT();
                            objDebit.FNEntryCode = Convert.ToInt32(ids.PurchaseId);
                            objDebit.STType      = "PUR";
                            objDebit.HeadCode    = Convert.ToInt32(objtbtaxconfig.TAX2ACCOUNT);
                            objDebit.FNAmount    = tax2val;
                            objDebit.FNDate      = obj.PurDate;
                            objDebit.Description = "PURCHASE TAX2 AGAINST " + obj.BillNo;
                            dbContext.TBDEBITs.Add(objDebit);
                            dbContext.SaveChanges();
                        }

                        //Tax3 account
                        if (tax3val != 0)
                        {
                            TBDEBIT objDebit2 = new TBDEBIT();
                            objDebit2.FNEntryCode = Convert.ToInt32(ids.PurchaseId);
                            objDebit2.STType      = "PUR";
                            objDebit2.HeadCode    = Convert.ToInt32(objtbtaxconfig.SALES_PURTAXACCOUNT); //NEDD TO DISCUSS
                            objDebit2.FNAmount    = tax3val;
                            objDebit2.FNDate      = obj.PurDate;
                            objDebit2.Description = "PURCHASE TAX3 AGAINST " + obj.BillNo;
                            dbContext.TBDEBITs.Add(objDebit2);
                            dbContext.SaveChanges();
                        }

                        //Surcharge account
                        if (surcharegeval != 0)
                        {
                            TBDEBIT objDebit3 = new TBDEBIT();
                            objDebit3.FNEntryCode = Convert.ToInt32(ids.PurchaseId);
                            objDebit3.STType      = "PUR";
                            objDebit3.HeadCode    = Convert.ToInt32(objtbtaxconfig.SURCHARGEACCOUNT);
                            objDebit3.FNAmount    = surcharegeval;
                            objDebit3.FNDate      = obj.PurDate;
                            objDebit3.Description = "PURCHASE SURCHARGE AGAINST " + obj.BillNo;
                            dbContext.TBDEBITs.Add(objDebit3);
                            dbContext.SaveChanges();
                        }

                        //PURCHASE account
                        if (grosscd != 0)
                        {
                            TBDEBIT objDebit4 = new TBDEBIT();
                            objDebit4.FNEntryCode = Convert.ToInt32(ids.PurchaseId);
                            objDebit4.STType      = "PUR";
                            objDebit4.HeadCode    = Convert.ToInt32(objtbtaxconfig.SALE_PURACCOUNT);
                            objDebit4.FNAmount    = grosscd;
                            objDebit4.FNDate      = obj.PurDate;
                            objDebit4.Description = "PURCHASE AGAINST " + obj.BillNo;
                            dbContext.TBDEBITs.Add(objDebit4);
                            dbContext.SaveChanges();
                        }
                    }

                    TBCREDIT objCredit = new TBCREDIT();
                    objCredit.FNEntryCode = Convert.ToInt32(ids.PurchaseId);
                    objCredit.STType      = "PUR";
                    objCredit.HeadCode    = Convert.ToInt32(obj.ACCOUNTID);
                    objCredit.FDAmount    = grandtotal;
                    objCredit.FDDate      = obj.PurDate;
                    objCredit.Description = "PURCHASE AGAINST " + obj.BillNo;
                    dbContext.TBCREDITs.Add(objCredit);

                    dbContext.SaveChanges();
                    TBPURCHASEHEADER objTBPURCHASEHEADERs = new TBPURCHASEHEADER();
                    objTBPURCHASEHEADERs            = dbContext.TBPURCHASEHEADERs.Where(x => x.PurchaseId == ids.PurchaseId).FirstOrDefault();
                    objTBPURCHASEHEADERs.BillAmount = grandtotal;
                    dbContext.SaveChanges();
                }
            }

            return(RedirectToAction("PurchaseHeader"));
        }