예제 #1
0
        public async Task <IActionResult> Edit(string id,
                                               [Bind(
                                                    "Id,PartyInvoiceDate,PurchaseDate,PartyInvoiceNo,PartyName,PaymentDueAfter,ReverseCharge,Remark,DiscountAmount,OtherCharge,TotalAmountBeforeTax,TaxAmount,TotalAmountAfterTax,RoundOff,GrandTotal,PurchaseBook,PaymentMode,ScanCopy,CreatedDatetime,Amount")]
                                               TblPurchase tblPurchase)
        {
            if (id != tblPurchase.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(tblPurchase);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TblPurchaseExists(tblPurchase.Id))
                    {
                        return(NotFound());
                    }
                    throw;
                }

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

            ViewData["PartyName"]   = new SelectList(_context.TblVendor, "Id", "Name", tblPurchase.PartyName);
            ViewData["PaymentMode"] = new SelectList(_context.TblPaymentMode, "Id", "Mode", tblPurchase.PaymentMode);
            return(View(tblPurchase));
        }
예제 #2
0
        public async Task <IActionResult> Create(
            [Bind(
                 "Id,PartyInvoiceDate,PurchaseDate,PartyInvoiceNo,PartyName,PaymentDueAfter,ReverseCharge,Remark,DiscountAmount,OtherCharge,TotalAmountBeforeTax,TaxAmount,TotalAmountAfterTax,RoundOff,GrandTotal,PurchaseBook,PaymentMode,ScanCopy,CreatedDatetime,Amount")]
            TblPurchase tblPurchase)
        {
            if (ModelState.IsValid)
            {
                _context.Add(tblPurchase);
                await _context.SaveChangesAsync();

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

            ViewData["PartyName"]   = new SelectList(_context.TblVendor, "Id", "Name", tblPurchase.PartyName);
            ViewData["PaymentMode"] = new SelectList(_context.TblPaymentMode, "Id", "Mode", tblPurchase.PaymentMode);
            return(View(tblPurchase));
        }
        public async Task <PurchaseStockResponse> PurchaseStock(PurchaseStock purchase)
        {
            try
            {
                var userid  = long.Parse(Thread.CurrentPrincipal.Identity.Name);
                var company = await _unitofwork.StockCompanies.GetByIdAsync(purchase.CompanyId);

                // Check User wallet balance from AuthMocroservice here
                var buy = new TblPurchase {
                    CompanyId = company.CompanyId, StockPrice = company.StockPrice, StockQuantity = (decimal)purchase.StockQuantity, UserId = userid, Cost = (decimal)purchase.StockQuantity * company.StockPrice
                };
                await _unitofwork.Purchase.AddAsync(buy);

                var IhaveStock = await _unitofwork.Stocks.FirstOrDefaultAsync(o => o.UserId == userid && o.CompanyId == company.CompanyId);

                if (IhaveStock != null)
                {
                    IhaveStock.Value += (decimal)purchase.StockQuantity * company.StockPrice;
                    _unitofwork.Stocks.Update(IhaveStock);
                }
                else
                {
                    var stock = new TblStocks {
                        CompanyId = company.CompanyId, UserId = userid, Value = (decimal)purchase.StockQuantity * company.StockPrice
                    };
                    await _unitofwork.Stocks.AddAsync(stock);
                }
                await _unitofwork.CommitChangesAsync();

                //Update User Wallet balance in Auth Microservice here//
                return(new PurchaseStockResponse {
                    ResponseCode = "99", ResponseMessage = "StockPurchased Successfully"
                });
            }
            catch (Exception ex)
            {
                _logWriter.LogWrite("Message: " + ex.Message + Environment.NewLine + "InnerException: " + ex.InnerException + Environment.NewLine + "StackTrace: " + ex.StackTrace);
                return(new PurchaseStockResponse {
                    ResponseCode = "99", ResponseMessage = ex.Message
                });
            }
        }
예제 #4
0
 public IActionResult RemovePurchaseRecode(TblPurchase tp)
 {
     ourdbcontxt.TblPurchase.Remove(tp);
     ourdbcontxt.SaveChanges();
     return(RedirectToAction(nameof(PurchaseController.purchaseHistory)));
 }
예제 #5
0
        //DETAILS OF PURCHASE FUCNTION
        public IActionResult PurchaseDetails(int pNum)
        {
            TblPurchase tp = ourdbcontxt.TblPurchase.Where(abc => abc.PurchaseId == pNum).FirstOrDefault <TblPurchase>();

            return(View(tp));
        }
예제 #6
0
 public IActionResult purchaseNewQuantity(TblPurchase tp)
 {
     ourdbcontxt.TblPurchase.Add(tp);
     ourdbcontxt.SaveChanges();
     return(RedirectToAction(nameof(PurchaseController.purchaseHistory)));
 }