Ejemplo n.º 1
0
        public async Task <IActionResult> Edit(string id,
                                               [Bind(
                                                    "AutoId,SaleId,InvoiceId,InvoiceDate,CustomerId,DiscountAfterTax,OtherChargeAfterTax,SubTotal,Tax,TotalValueafterTax,RoundOff,GrandTotal,CreatedDatetime,ReverseCharge,Remark")]
                                               TblSale tblSale)
        {
            if (id != tblSale.SaleId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tblSale);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TblSaleExists(tblSale.SaleId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["CustomerId"] = new SelectList(_context.TblVendor, "Id", "Name", tblSale.CustomerId);
            return(View(tblSale));
        }
        protected void btnSaveReading_Click(object sender, EventArgs e)
        {
            decimal m2n1 = Convert.ToDecimal(txtCurrentM2N1.Text) - Convert.ToDecimal(txtPreviousM2N1.Text) - Convert.ToDecimal(txtTestM2N1.Text),
                    m2n2 = Convert.ToDecimal(txtCurrentM2N2.Text) - Convert.ToDecimal(txtPreviousM2N2.Text) - Convert.ToDecimal(txtTestM2N2.Text),
                    m3n1 = Convert.ToDecimal(txtCurrentM3N1.Text) - Convert.ToDecimal(txtPreviousM3N1.Text) - Convert.ToDecimal(txtTestM3N1.Text),
                    m3n2 = Convert.ToDecimal(txtCurrentM3N2.Text) - Convert.ToDecimal(txtPreviousM3N2.Text) - Convert.ToDecimal(txtTestM3N2.Text);

            SaveMachine1Data();//Save Machine no.1 Data

            TblSale objPMGSale = new TblSale();

            objPMGSale.IsNew      = true;
            objPMGSale.Qty        = Convert.ToDouble((Convert.ToDecimal(txtCurrentM1N1.Text) - Convert.ToDecimal(txtPreviousM1N1.Text) - Convert.ToDecimal(txtTestM1N1.Text)) + (Convert.ToDecimal(txtCurrentM1N2.Text) - Convert.ToDecimal(txtPreviousM1N2.Text) - Convert.ToDecimal(txtTestM1N2.Text)));
            objPMGSale.Rate       = Convert.ToDecimal(txtPetrolRate.Text);
            objPMGSale.Price      = Convert.ToDecimal(objPMGSale.Qty * Convert.ToDouble(objPMGSale.Rate));
            objPMGSale.CategoryID = 1;
            objPMGSale.DateX      = Convert.ToDateTime(txtPetrolDate.SelectedDate);

            objPMGSale.Save();

            SaveMachine2Data(); //Save Machine no.2 Data
            SaveMachine3Data(); //Save Machine no.3 Data

            TblSale objHSDSale = new TblSale();

            objHSDSale.IsNew      = true;
            objHSDSale.Qty        = Convert.ToDouble(m2n1 + m2n2 + m3n1 + m3n2);
            objHSDSale.Rate       = Convert.ToDecimal(txtDesialRate.Text);
            objHSDSale.Price      = Convert.ToDecimal(objHSDSale.Qty * Convert.ToDouble(objHSDSale.Rate));
            objHSDSale.CategoryID = 2;
            objHSDSale.DateX      = Convert.ToDateTime(txtPetrolDate.SelectedDate);
            objHSDSale.Save();
            Response.Redirect("MachineReading.aspx");
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> Create(
            [Bind(
                 "AutoId,SaleId,InvoiceId,InvoiceDate,CustomerId,DiscountAfterTax,OtherChargeAfterTax,SubTotal,Tax,TotalValueafterTax,RoundOff,GrandTotal,CreatedDatetime,ReverseCharge,Remark")]
            TblSale tblSale)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tblSale);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["CustomerId"] = new SelectList(_context.TblVendor, "Id", "Name", tblSale.CustomerId);
            return(View(tblSale));
        }
        private void SaveTempData(DataTable dt)
        {
            TblSale objPMGSale = new TblSale();

            objPMGSale.IsNew      = true;
            objPMGSale.Qty        = Convert.ToDouble(lblPMGUnits.Text);
            objPMGSale.Rate       = Convert.ToDecimal(dt.Rows[0]["Rate"]);
            objPMGSale.Price      = Convert.ToDecimal(objPMGSale.Qty * Convert.ToDouble(objPMGSale.Rate));
            objPMGSale.CategoryID = 1;
            objPMGSale.DateX      = Convert.ToDateTime(dt.Rows[0]["Date"]);
            objPMGSale.Save();

            TblSale objHSDSale = new TblSale();

            objHSDSale.IsNew      = true;
            objHSDSale.Qty        = Convert.ToDouble(lblHSDUnits.Text);
            objHSDSale.Rate       = Convert.ToDecimal(dt.Rows[2]["Rate"]);
            objHSDSale.Price      = Convert.ToDecimal(objHSDSale.Qty * Convert.ToDouble(objHSDSale.Rate));
            objHSDSale.CategoryID = 2;
            objHSDSale.DateX      = Convert.ToDateTime(dt.Rows[2]["Date"]);
            objHSDSale.Save();
        }
Ejemplo n.º 5
0
        public ActionResult AddSales(string request)
        {
            //using (var transaction = _context.Database.BeginTransaction())
            //{
            TblSale tbl_Sale = JsonConvert.DeserializeObject <TblSale>(request);

            if (SalesItemStock.Count > 0)
            {
                var saved = false;

                try
                {
                    var t = JsonConvert.SerializeObject(tbl_Sale);

                    _context.TblSale.Add(tbl_Sale);
                    _context.SaveChanges();

                    SalesItemStock.ForEach(q => q.Item = null);

                    _context.TblItemStock.AddRange(SalesItemStock);
                    _context.SaveChanges();

                    TblSequence NewSequenceValue = GenericHelper.GetNextUpdatedData("tbl_Sale");
                    _context.Entry(NewSequenceValue).State = EntityState.Modified;
                    //_context.SaveChanges();

                    TblSequence NewSequenceValuetbl_SalesInvoice = GenericHelper.GetNextUpdatedData("tbl_SalesInvoice");
                    _context.Entry(NewSequenceValuetbl_SalesInvoice).State = EntityState.Modified;
                    //_context.SaveChanges();

                    TblSequence NewSequenceValueItemStock = GenericHelper.GetNextUpdatedData("tbl_ItemStock");
                    _context.Entry(NewSequenceValueItemStock).State = EntityState.Modified;
                    //_context.SaveChanges();
                    //_context.SaveChanges();

                    // 1 hold --  only save Sales & Item with status hold

                    // 2  CREDIT PURCHASE --  one transaction entry with Debit (In) with unpaid status

                    // 3  CASH PAY  -- one transaction entry with  Debit (In)/ Paid
                    //             one payment Entry with full amount
                    //             one transaction entry with credit (out) with payment ID

                    // 4 MULTI MODE PAY -- one transaction entry with Debit (In)
                    //             one payment Entry
                    //             one transaction entry with credit (out)

                    if (tbl_Sale.PaymentMode != null && tbl_Sale.PaymentMode.Value != PaymentMode.HOLD
                        ) // not hold
                    {
                        var amount    = tbl_Sale.Amount;
                        var creditTID = GenericHelper.GetMaxValue(SequenceTable.tbl_TransactionCredit);
                        var tbl_Transaction_Credit = new TblTransaction
                        {
                            Id = creditTID,

                            CreatedDatetime = tbl_Sale.CreatedDatetime,
                            EntryDate       = tbl_Sale.InvoiceDate.ToString(),

                            EntryType = TransactionEntryType.Sales
                                        .ToString(), //"Purchase", // Purchase/Sales/Recipt/Payment
                            Status = TransactionStatus
                                     .Unpaid,        //Paid/Unpaid/Pending/Paid Against entries : // Recive  Against entries
                            TransactionType =
                                TransactionType.Debit
                                .ToString(),     //Debit/ credit --  For Real: Debit what comes in, credit what goes out.
                            //TransactionRef = null,

                            EntryId = tbl_Sale.SaleId,
                            //PurchaseId = tbl_Sale.Id,
                            SalesId = tbl_Sale.SaleId,

                            Amount = tbl_Sale.GrandTotal,

                            VendorId = tbl_Sale.CustomerId
                        };
                        _context.TblTransaction.Add(tbl_Transaction_Credit);
                        //_context.SaveChanges();

                        var NewSequenceValueTbl_Transaction = GenericHelper.GetNextUpdatedData("tbl_TransactionCredit");
                        _context.Entry(NewSequenceValueTbl_Transaction).State = EntityState.Modified;

                        //_context.SaveChanges();
                        if (tbl_Sale.PaymentMode == 2) //CREDIT PURCHASE
                        {
                        }
                        else if (tbl_Sale.PaymentMode == 3) //CASH PAY
                        {
                            var tbl_PaymentID = GenericHelper.GetMaxValue("tbl_Payment");
                            var tbl_Payment   = new TblPayment
                            {
                                Id              = tbl_PaymentID,
                                Amount          = tbl_Sale.GrandTotal,
                                CreatedDatetime = tbl_Sale.CreatedDatetime,

                                PartyName   = tbl_Sale.SaleId,
                                PaymentDate = tbl_Sale.InvoiceDate.ToString(),
                                PaymentMode = "CASH"
                                              //Remark = "",
                                              //TransactionID = creditTID,
                            };
                            _context.TblPayment.Add(tbl_Payment);

                            var NewSequenceValueTbl_Payment = GenericHelper.GetNextUpdatedData("tbl_Payment");
                            _context.Entry(NewSequenceValueTbl_Payment).State = EntityState.Modified;
                            //_context.SaveChanges();

                            var tbl_TransactionDebit = new TblTransaction
                            {
                                Id = GenericHelper.GetMaxValue("tbl_TransactionDebit"),

                                CreatedDatetime = tbl_Sale.CreatedDatetime,
                                EntryDate       = tbl_Sale.InvoiceDate.ToString(),

                                EntryType = TransactionEntryType.Sales
                                            .ToString(), // "Purchase", // Purchase/Sales/Recipt/Payment
                                Status = TransactionStatus.PaidAgainstEntries +
                                         tbl_Sale
                                         .SaleId,     //Paid/Unpaid/Pending/Paid Against entries : // Recive  Against entries
                                TransactionType =
                                    TransactionType.Credit
                                    .ToString(),     //Debit/ credit --  For Real: Debit what comes in, credit what goes out.
                                TransactionRef = tbl_Sale.SaleId,

                                EntryId = tbl_PaymentID,
                                //PurchaseID = null,
                                //SalesID = null,
                                PaymentId = tbl_PaymentID,

                                Amount = tbl_Sale.GrandTotal,

                                VendorId = tbl_Sale.CustomerId
                            };
                            _context.TblTransaction.Add(tbl_TransactionDebit);

                            var NewSequenceValuetbl_Transaction2 =
                                GenericHelper.GetNextUpdatedData("tbl_TransactionDebit");
                            _context.Entry(NewSequenceValuetbl_Transaction2).State = EntityState.Modified;

                            //_context.SaveChanges();

                            //var tbl_Transaction result = _context.tbl_Transaction.Where(q => q.ID == creditTID).FirstOrDefault();
                            tbl_Transaction_Credit.Status = TransactionStatus.Paid;
                            //_context.Entry(tbl_Transactionresult).State = EntityState.Modified;
                            //_context.SaveChanges();
                        }
                        else if (tbl_Sale.PaymentMode == 4) //MULTI MODE PAY
                        {
                            var tbl_PaymentID = GenericHelper.GetMaxValue("tbl_Payment");
                            var tbl_Payment   = new TblPayment
                            {
                                Id              = tbl_PaymentID,
                                Amount          = amount,
                                CreatedDatetime = tbl_Sale.CreatedDatetime,

                                PartyName   = tbl_Sale.CustomerId,
                                PaymentDate = tbl_Sale.InvoiceDate.ToString(),
                                PaymentMode = "CASH"
                                              //Remark = "",
                                              //TransactionID = creditTID,
                            };
                            _context.TblPayment.Add(tbl_Payment);

                            var NewSequenceValueTbl_Payment = GenericHelper.GetNextUpdatedData("tbl_Payment");
                            _context.Entry(NewSequenceValueTbl_Payment).State = EntityState.Modified;
                            //_context.SaveChanges();

                            var tbl_TransactionDebit = new TblTransaction
                            {
                                Id = GenericHelper.GetMaxValue("tbl_TransactionDebit"),

                                CreatedDatetime = tbl_Sale.CreatedDatetime,
                                EntryDate       = tbl_Sale.InvoiceDate.ToString(),

                                EntryType = TransactionEntryType.Purchase
                                            .ToString(), // "Purchase", // Purchase/Sales/Recipt/Payment
                                Status = TransactionStatus.PaidAgainstEntries +
                                         tbl_Sale
                                         .SaleId,     //Paid/Unpaid/Pending/Paid Against entries : // Recive  Against entries
                                TransactionType =
                                    TransactionType.Debit
                                    .ToString(),     //Debit/ credit --  For Real: Debit what comes in, credit what goes out.
                                TransactionRef = tbl_Sale.SaleId,

                                EntryId = tbl_PaymentID,
                                //PurchaseID = null,
                                //SalesID = null,
                                PaymentId = tbl_PaymentID,

                                Amount = amount,

                                VendorId = tbl_Sale.CustomerId
                            };
                            _context.TblTransaction.Add(tbl_TransactionDebit);

                            var NewSequenceValueTbl_Transaction2 =
                                GenericHelper.GetNextUpdatedData("tbl_TransactionDebit");
                            _context.Entry(NewSequenceValueTbl_Transaction2).State = EntityState.Modified;
                        }
                    }


                    _context.SaveChanges();
                    saved = true;
                }
                catch (Exception e)
                {
                    throw new InvalidOperationException(e.Message);
                }
                finally
                {
                    //if (saved) transaction.Commit();
                }

                //if (tbl_Sale.PaymentMode == 4)  //MULTI MODE PAY
                //    return JavaScript("window.location = '/Purchases/index'");
                //else



                //return RedirectToAction("Index");
                return(Content("window.location = '/Sale/index'"));
            }
            else
            {
                ViewBag.CustomerID = new SelectList(_context.TblVendor, "ID", "Name", tbl_Sale.CustomerId);
                throw new InvalidOperationException("Please add item to continue!!");
            }

            //return RedirectToAction("Index");
            //}
        }
        protected void btnSaveReading_Click(object sender, EventArgs e)
        {
            HiddenField hfMachineID = null, hfNozleNo = null, hfCategoryID = null;
            double      PMGQuantity = 0, HSDQuantity = 0, N1, N2;
            TextBox     txtPreviousReadingN1 = null, txtCurrentReadingN1 = null, txtTestUnitsN1 = null,
                        txtPreviousReadingN2 = null, txtCurrentReadingN2 = null, txtTestUnitsN2 = null;

            for (int i = 0; i < rptMachines.Items.Count; i++)
            {
                hfNozleNo    = (HiddenField)rptMachines.Items[i].FindControl("hfNozleNo");
                hfMachineID  = (HiddenField)rptMachines.Items[i].FindControl("hfMachineID");
                hfCategoryID = (HiddenField)rptMachines.Items[i].FindControl("hfCategoryID");
                //First Nozle
                txtPreviousReadingN1 = (TextBox)rptMachines.Items[i].FindControl("txtPreviousReadingN1");
                txtCurrentReadingN1  = (TextBox)rptMachines.Items[i].FindControl("txtCurrentReadingN1");
                txtTestUnitsN1       = (TextBox)rptMachines.Items[i].FindControl("txtTestUnitsN1");
                //Second Nozle
                txtPreviousReadingN2 = (TextBox)rptMachines.Items[i].FindControl("txtPreviousReadingN2");
                txtCurrentReadingN2  = (TextBox)rptMachines.Items[i].FindControl("txtCurrentReadingN2");
                txtTestUnitsN2       = (TextBox)rptMachines.Items[i].FindControl("txtTestUnitsN2");

                //First Nozle
                obj                 = new TblMachineReading();
                obj.MachineID       = Convert.ToInt32(hfMachineID.Value);
                obj.PreviousReading = Convert.ToDecimal(txtPreviousReadingN1.Text);
                obj.CurrentReading  = Convert.ToDecimal(txtCurrentReadingN1.Text);
                if (txtPetrolDate.Enabled)
                {
                    obj.DateX = Convert.ToDateTime(txtPetrolDate.SelectedDate).ToShortDateString();
                }
                else
                {
                    obj.DateX = Convert.ToDateTime(txtPetrolDate.SelectedDate).AddDays(1).ToShortDateString();
                }
                obj.TestLiter  = Convert.ToDecimal(txtTestUnitsN1.Text);
                obj.IsActive   = true;
                obj.CategoryID = Convert.ToInt32(hfCategoryID.Value);
                obj.NozleID    = Convert.ToInt32(hfNozleNo.Value.Split(',')[0]);
                obj.Rate       = obj.CategoryID == 1 ? Convert.ToDecimal(txtPetrolRate.Text) : Convert.ToDecimal(txtDesialRate.Text);
                obj.Save();

                //Second Nozle
                obj                 = new TblMachineReading();
                obj.MachineID       = Convert.ToInt32(hfMachineID.Value);
                obj.PreviousReading = Convert.ToDecimal(txtPreviousReadingN2.Text);
                obj.CurrentReading  = Convert.ToDecimal(txtCurrentReadingN2.Text);
                if (txtPetrolDate.Enabled)
                {
                    obj.DateX = Convert.ToDateTime(txtPetrolDate.SelectedDate).ToShortDateString();
                }
                else
                {
                    obj.DateX = Convert.ToDateTime(txtPetrolDate.SelectedDate).AddDays(1).ToShortDateString();
                }
                obj.TestLiter  = Convert.ToDecimal(txtTestUnitsN2.Text);
                obj.IsActive   = true;
                obj.CategoryID = Convert.ToInt32(hfCategoryID.Value);
                obj.NozleID    = Convert.ToInt32(hfNozleNo.Value.Split(',')[1]);
                obj.Rate       = obj.CategoryID == 1 ? Convert.ToDecimal(txtPetrolRate.Text) : Convert.ToDecimal(txtDesialRate.Text);
                obj.Save();
                if (obj.CategoryID == 1)
                {
                    N1           = Convert.ToDouble(Convert.ToDecimal(txtCurrentReadingN1.Text) - Convert.ToDecimal(txtPreviousReadingN1.Text));
                    N2           = Convert.ToDouble(Convert.ToDecimal(txtCurrentReadingN2.Text) - Convert.ToDecimal(txtPreviousReadingN2.Text));
                    PMGQuantity += N1 + N2;
                }
                else
                {
                    N1           = Convert.ToDouble(Convert.ToDecimal(txtCurrentReadingN1.Text) - Convert.ToDecimal(txtPreviousReadingN1.Text));
                    N2           = Convert.ToDouble(Convert.ToDecimal(txtCurrentReadingN2.Text) - Convert.ToDecimal(txtPreviousReadingN2.Text));
                    HSDQuantity += N1 + N2;
                }
            }

            TblSale objPMGSale = new TblSale();

            objPMGSale.IsNew      = true;
            objPMGSale.Qty        = PMGQuantity;
            objPMGSale.Rate       = Convert.ToDecimal(txtPetrolRate.Text);
            objPMGSale.Price      = Convert.ToDecimal(objPMGSale.Qty * Convert.ToDouble(objPMGSale.Rate));
            objPMGSale.CategoryID = 1;
            objPMGSale.DateX      = Convert.ToDateTime(txtPetrolDate.SelectedDate);
            objPMGSale.Save();

            TblSale objHSDSale = new TblSale();

            objHSDSale.IsNew      = true;
            objHSDSale.Qty        = HSDQuantity;
            objHSDSale.Rate       = Convert.ToDecimal(txtDesialRate.Text);
            objHSDSale.Price      = Convert.ToDecimal(objHSDSale.Qty * Convert.ToDouble(objHSDSale.Rate));
            objHSDSale.CategoryID = 2;
            objHSDSale.DateX      = Convert.ToDateTime(txtPetrolDate.SelectedDate);
            objHSDSale.Save();
            Response.Redirect("MachineReading.aspx");
        }
Ejemplo n.º 7
0
 public ActionResult NewSale(TblSale tblSale)
 {
     DbStockEntities.TblSale.Add(tblSale);
     DbStockEntities.SaveChanges();
     return(View("Index"));
 }