public void CreateStockItem(VoyagerContext db, ImportPurchase purchase, int pItemId)
        {
            Stock stcks = db.Stocks.Where(c => c.ProductItemId == pItemId).FirstOrDefault();

            if (stcks != null)
            {
                stcks.PurchaseQty    += purchase.Quantity;
                stcks.Quantity       += purchase.Quantity;
                db.Entry(stcks).State = EntityState.Modified;
            }
            else
            {
                Stock stock = new Stock
                {
                    PurchaseQty   = purchase.Quantity,
                    Quantity      = purchase.Quantity,
                    ProductItemId = pItemId,
                    SaleQty       = 0,
                    Units         = db.ProductItems.Find(pItemId).Units,
                    StoreId       = StoreID
                };
                db.Stocks.Add(stock);
            }
            db.SaveChanges();
        }
        // Converting purchase items to stock

        public int ProcessPurchaseInward(VoyagerContext db, DateTime inDate, bool IsLocal)
        {
            int ctr  = 0;
            var data = db.ImportPurchases.Where(c => c.IsDataConsumed == false && (c.GRNDate.Date) == (inDate.Date)).OrderBy(c => c.InvoiceNo).ToList();

            if (data != null && data.Count > 0)
            {
                ProductPurchase PurchasedProduct = null;

                foreach (var item in data)
                {
                    int pid = CreateProductItem(db, item);
                    if (pid != -999)
                    {
                        CreateStockItem(db, item, pid);
                    }
                    PurchasedProduct = CreatePurchaseInWard(db, item, PurchasedProduct);
                    PurchasedProduct.PurchaseItems.Add(CreatePurchaseItem(db, item, pid, IsLocal));
                    item.IsDataConsumed  = true;
                    db.Entry(item).State = EntityState.Modified;
                    ctr++;
                }
                if (PurchasedProduct != null)
                {
                    db.ProductPurchases.Add(PurchasedProduct);
                }
                db.SaveChanges();
            }
            return(ctr);
        }
        /// <summary>
        /// UpDate Stock when Sale or Purchase Happen
        /// </summary>
        /// <param name="db"></param>
        /// <param name="ItemCode"></param>
        /// <param name="Qty"></param>
        /// <param name="IsPurchased"></param>
        /// <returns></returns>
        public static bool UpDateStock(VoyagerContext db, int ItemCode, double Qty, bool IsPurchased, int StoreId)
        {
            var stock = db.Stocks.Where(c => c.ProductItemId == ItemCode && c.StoreId == StoreId).FirstOrDefault();

            if (stock != null)
            {
                if (IsPurchased)
                {
                    // Purchase Stock;
                    stock.PurchaseQty += Qty;
                    stock.Quantity    += Qty;
                }
                else
                {
                    //Sale Stock.
                    stock.SaleQty  += Qty;
                    stock.Quantity -= Qty;
                }
                db.Entry(stock).State = EntityState.Modified;

                return(true);
            }
            else
            {
                return(false);
            }
        }
 public ActionResult Edit([Bind(Include = "ImportPurchaseId,GRNNo,GRNDate,InvoiceNo,InvoiceDate,SupplierName,Barcode,ProductName,StyleCode,ItemDesc,Quantity,MRP,MRPValue,Cost,CostValue,TaxAmt,IsDataConsumed,ImportTime")] ImportPurchase importPurchase)
 {
     if (ModelState.IsValid)
     {
         db.Entry(importPurchase).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(importPurchase));
 }
 public ActionResult Edit([Bind(Include = "ImportSaleRegisterId,InvoiceNo,InvoiceType,InvoiceDate,Quantity,MRP,Discount,BasicRate,Tax,RoundOff,BillAmnt,PaymentType,ImportTime")] ImportSaleRegister importSaleRegister)
 {
     if (ModelState.IsValid)
     {
         db.Entry(importSaleRegister).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(importSaleRegister));
 }
Exemple #6
0
 public ActionResult Edit([Bind(Include = "ImportInWardId,InWardNo,InWardDate,InvoiceNo,InvoiceDate,PartyName,TotalQty,TotalMRPValue,TotalCost,ImportDate")] ImportInWard importInWard)
 {
     if (ModelState.IsValid)
     {
         db.Entry(importInWard).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(importInWard));
 }
Exemple #7
0
 public ActionResult Edit([Bind(Include = "SaleTaxTypeId,TaxName,TaxType,CompositeRate")] SaleTaxType saleTaxType)
 {
     if (ModelState.IsValid)
     {
         db.Entry(saleTaxType).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(saleTaxType));
 }
Exemple #8
0
 public ActionResult Edit([Bind(Include = "ImportSaleItemWiseId,InvoiceDate,InvoiceNo,InvoiceType,BrandName,ProductName,ItemDesc,HSNCode,Barcode,StyleCode,Quantity,MRP,Discount,BasicRate,Tax,SGST,CGST,LineTotal,RoundOff,BillAmnt,PaymentType,Saleman,IsDataConsumed,ImportTime")] ImportSaleItemWise importSaleItemWise)
 {
     if (ModelState.IsValid)
     {
         db.Entry(importSaleItemWise).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(importSaleItemWise));
 }
Exemple #9
0
 public ActionResult Edit([Bind(Include = "StoreID,StoreCode,StoreName,Address,City,PinCode,PhoneNo,StoreManagerName,StoreManagerPhoneNo,PanNo,GSTNO,NoOfEmployees,OpeningDate,ClosingDate,Status")] Store store)
 {
     if (ModelState.IsValid)
     {
         db.Entry(store).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(store));
 }
 public ActionResult Edit([Bind(Include = "CustomerID,FirstName,LastName,Age,DateOfBirth,City,MobileNo,Gender,NoOfBills,TotalAmount,CreatedDate")] Customer customer)
 {
     if (ModelState.IsValid)
     {
         db.Entry(customer).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(customer));
 }
 public ActionResult Edit([Bind(Include = "ProductPurchaseId,InWardNo,InWardDate,PurchaseDate,InvoiceNo,TotalQty,TotalBasicAmount,ShippingCost,TotalTax,TotalAmount,Remarks,SupplierID,IsPaid")] ProductPurchase productPurchase)
 {
     if (ModelState.IsValid)
     {
         db.Entry(productPurchase).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.SupplierID = new SelectList(db.Suppliers, "SupplierID", "SuppilerName", productPurchase.SupplierID);
     return(View(productPurchase));
 }
 public ActionResult Edit([Bind(Include = "StockID,ProductItemId,Quantity,SaleQty,PurchaseQty,Units")] Stock stock)
 {
     if (ModelState.IsValid)
     {
         db.Entry(stock).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProductItemId = new SelectList(db.ProductItems, "ProductItemId", "Barcode", stock.ProductItemId);
     return(View(stock));
 }
Exemple #13
0
 public ActionResult Edit([Bind(Include = "ProductItemId,Barcode,BrandId,StyleCode,ProductName,ItemDesc,Categorys,MRP,TaxRate,Cost,Size,Units")] ProductItem productItem)
 {
     if (ModelState.IsValid)
     {
         db.Entry(productItem).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.BrandId = new SelectList(db.Brands, "BrandId", "BrandName", productItem.BrandId);
     return(View(productItem));
 }
        private async Task <Uri> AddBill(VoyagerBillInfo bill)
        {
            HttpResponseMessage response = await client.PostAsJsonAsync("api/VoyagerBills", bill);

            LogEvent.WriteEvent("Header:" + response.Headers.ToString());
            LogEvent.WriteEvent("Content:" + response.Content.ToString());
            LogEvent.WriteEvent("Status Code:" + response.StatusCode.ToString());

            response.EnsureSuccessStatusCode();

            if (response.IsSuccessStatusCode)
            {
                LogEvent.WriteEvent("Invocie is saved: " + bill.InvoiceNo);
                using (VoyagerContext db = new VoyagerContext())
                {
                    InsertDataLog log = db.InsertDataLogs.Where(c => c.BillNumber == bill.InvoiceNo).FirstOrDefault();
                    log.Remark          = response.Content.ToString();
                    db.Entry(log).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
            }
            return(response.Headers.Location);
        }
Exemple #15
0
        private SaleItem CreateSaleItem(VoyagerContext db, ImportSaleItemWise item)
        {
            var pi = db.ProductItems.Where(c => c.Barcode == item.Barcode).Select(c => new { c.ProductItemId, c.Units }).FirstOrDefault();

            if (pi == null)
            {
                //TODO: Handle for ProductItem Doesnt Exsist.
                //create item and stock
                int id = StockItem(db, item, out Units UNTS);
                pi = new { ProductItemId = id, Units = UNTS };
            }

            SaleItem saleItem = new SaleItem
            {
                BarCode       = item.Barcode,
                MRP           = item.MRP,
                BasicAmount   = item.BasicRate,
                Discount      = item.Discount,
                Qty           = item.Quantity,
                TaxAmount     = item.SGST + item.CGST,
                BillAmount    = item.LineTotal,
                Units         = pi.Units,
                ProductItemId = pi.ProductItemId,
                SalesmanId    = GetSalesmanId(db, item.Saleman),
                SaleTaxTypeId = CreateSaleTax(db, item)
            };

            if (!SalePurchaseManager.UpDateStock(db, pi.ProductItemId, item.Quantity, false))
            {
                //TODO: Create Stock and update
                CreateStockItem(db, saleItem.Qty, saleItem.ProductItemId, saleItem.Units);
            }
            item.IsDataConsumed  = true;
            db.Entry(item).State = EntityState.Modified;
            return(saleItem);
        }