예제 #1
0
        public ActionResult AddPurchase(string request)
        {
            tbl_Sale tbl_Sale = JsonConvert.DeserializeObject <tbl_Sale>(request);

            if (SalesItemStock.Count > 0)
            {
                var t = JsonConvert.SerializeObject(tbl_Sale);

                db.tbl_Sale.Add(tbl_Sale);
                db.SaveChanges();

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

                db.tbl_ItemStock.AddRange(SalesItemStock);
                db.SaveChanges();

                tbl_Sequence NewSequenceValue = Helper.GenericHelper.GetNextUpdatedData("tbl_Sale");
                db.Entry(NewSequenceValue).State = EntityState.Modified;
                //db.SaveChanges();

                tbl_Sequence NewSequenceValueItemStock = Helper.GenericHelper.GetNextUpdatedData("tbl_ItemStock");
                db.Entry(NewSequenceValueItemStock).State = EntityState.Modified;
                db.SaveChanges();

                //return RedirectToAction("Index");
                return(JavaScript("window.location = '/Sale/index'"));
            }
            else
            {
                ViewBag.CustomerID = new SelectList(db.tbl_vendor, "CustomerID", "Name", tbl_Sale.CustomerID);
                throw new InvalidOperationException("Please add item to continue!!");
            }
            //return RedirectToAction("Index");
        }
        public static void printDuplicateRecipt(int saleId)
        {
            tbl_Sale                   sale           = Sale.getById(saleId);
            tbl_Customer               customer       = Customer.getById((int)sale.Customer_Id);
            List <tbl_SaleItem>        soldItems      = SaleItem.getAllBySaleId(saleId);
            List <ItemOrDealSaleModel> allMappedItems = Sale.getMappedListofDealsAndItemsToItemOrDealSaleModel();
            List <ItemOrDealSaleModel> newSaleList    = new List <ItemOrDealSaleModel>();

            foreach (tbl_SaleItem item in soldItems)
            {
                ItemOrDealSaleModel s  = new ItemOrDealSaleModel();
                ItemOrDealSaleModel s1 = allMappedItems.Where(a => a.Id == (int)item.Item_id).FirstOrDefault();
                s.Id        = s1.Id;
                s.Name      = s1.Name;
                s.Quantity  = (int)item.Quantity;
                s.SalePrice = s1.SalePrice;
                s.Total     = s1.SalePrice * s.Quantity;

                newSaleList.Add(s);
            }
            //int salesId, List< ItemOrDealSaleModel > list, int totalBill,int remaining, int saleType,string customerAddress
            string customerAddress;

            if (customer != null)
            {
                customerAddress = customer.Address + " " + customer.PhoneNo;
            }
            else
            {
                customerAddress = "";
            }

            PrintingUtils.printSaleReceipt(sale.Id, newSaleList, (int)sale.Amount, 0, (int)sale.SaleType, customerAddress);
        }
 private void btn_SaleDetails(object sender, RoutedEventArgs e)
 {
     if (dg_AllSales.SelectedItem != null)
     {
         tbl_Sale sale = (tbl_Sale)dg_AllSales.SelectedItem;
         new Form_SaleDetails(sale.Id).Show();
     }
 }
        public static void deleteASaleById(int saleId)
        {
            RMSDBEntities db   = DBContext.getInstance();
            tbl_Sale      sale = db.tbl_Sale.Find(saleId);

            db.tbl_Sale.Remove(sale);
            db.SaveChanges();
            SaleItem.deleteSaleItemsBySaleId(saleId);
        }
        public static void performANewSale(List <ItemOrDealSaleModel> saleList, double discount, int totalBill, int remaining, int customerId, bool receipt1, bool receipt2, bool receipt3, int saletype, string customerAddress, int deliveryBoyId)
        {
            RMSDBEntities db   = DBContext.getInstance();
            tbl_Sale      sale = new tbl_Sale();

            sale.Staff_id  = 0;
            sale.Date_Time = DateTime.Now;

            tbl_Customer c = Customer.getById(customerId);

            if (c != null)
            {
                sale.Customer_Id = customerId;
            }

            sale.Amount   = totalBill;
            sale.SaleType = saletype;
            db.tbl_Sale.Add(sale);
            db.SaveChanges();
            //3 is for delivery. therefor we have to add in Delivery Queue
            if (saletype == 3)
            {
                tbl_DeliveryQueue dq = new tbl_DeliveryQueue();
                dq.Customer_Id = customerId;
                dq.Sale_Id     = sale.Id;
                dq.Delivered   = false;
                dq.DatenTime   = DateTime.Now;
                if (deliveryBoyId != 0)
                {
                    dq.DeliveryBoyId = deliveryBoyId;
                }

                DeliveryQueue.insert(dq);
            }
            // printing
            if (receipt1)
            {
                PrintingUtils.printSaleReceipt(sale.Id, saleList, totalBill, remaining, saletype, customerAddress);
            }
            if (receipt2)
            {
                PrintingUtils.printSaleReceipt(sale.Id, saleList, totalBill, remaining, saletype, customerAddress);
            }
            if (receipt3)
            {
                PrintingUtils.printSaleReceipt(sale.Id, saleList, totalBill, remaining, saletype, customerAddress);
            }
            foreach (ItemOrDealSaleModel item in saleList)
            {
                tbl_SaleItem saleItem = new tbl_SaleItem();
                saleItem.Item_id  = item.Id;
                saleItem.Sale_id  = sale.Id;
                saleItem.Quantity = item.Quantity;
                SaleItem.insert(saleItem);
            }
            DetuctInventory.detuctInventoryOfList(saleList);
        }
예제 #6
0
        public async Task <ActionResult> DeleteConfirmed(string id)
        {
            tbl_Sale tbl_Sale = await db.tbl_Sale.FindAsync(id);

            db.tbl_Sale.Remove(tbl_Sale);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
예제 #7
0
        public async Task <ActionResult> Edit([Bind(Include = "AutoID,SaleID,InvoiceID,InvoiceDate,CustomerID,DiscountAfterTax,OtherChargeAfterTax,SubTotal,Tax,TotalValueafterTax,GrandTotal,CreatedDatetime")] tbl_Sale tbl_Sale)
        {
            if (ModelState.IsValid)
            {
                db.Entry(tbl_Sale).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.CustomerID = new SelectList(db.tbl_vendor, "ID", "Name", tbl_Sale.CustomerID);
            return(View(tbl_Sale));
        }
예제 #8
0
        public static int getAmmountOfDeliveryOfaBoyWithDate(int deleiveryBoyId, DateTime fromDate, DateTime toDate)
        {
            RMSDBEntities            db   = DBContext.getInstance();
            List <tbl_DeliveryQueue> list = db.tbl_DeliveryQueue.Where(a => a.DeliveryBoyId == deleiveryBoyId).Where(a => a.DatenTime >= fromDate).Where(a => a.DatenTime <= toDate).ToList();
            int ammount = 0;

            foreach (tbl_DeliveryQueue item in list)
            {
                tbl_Sale sale = Sale.getById((int)item.Sale_Id);
                ammount += (int)sale.Amount;
            }
            return(ammount);
        }
예제 #9
0
        // GET: Sale/Details/5
        public async Task <ActionResult> Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Sale tbl_Sale = await db.tbl_Sale.FindAsync(id);

            if (tbl_Sale == null)
            {
                return(HttpNotFound());
            }
            return(View(tbl_Sale));
        }
예제 #10
0
        // GET: Sale/Edit/5
        public async Task <ActionResult> Edit(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tbl_Sale tbl_Sale = await db.tbl_Sale.FindAsync(id);

            if (tbl_Sale == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CustomerID = new SelectList(db.tbl_vendor, "ID", "Name", tbl_Sale.CustomerID);
            return(View(tbl_Sale));
        }
        void initFormOperations(int saleId)
        {
            tbl_Sale sale = Sale.getById(saleId);

            dg_ItemPurchased.ItemsSource = SaleItem.getAllBySaleId(saleId);
            tbl_Customer customer = Customer.getById((int)sale.Customer_Id);

            if (customer != null)
            {
                lbl_CustomerName.Content = customer.Name;
            }
            lbl_SaleId.Content = saleId;
            lbl_Date.Content   = ((DateTime)sale.Date_Time).ToShortDateString();
            lbl_Total.Content  = sale.Amount;
        }
예제 #12
0
        public static List <DeliveryQueueModel> getAllNotDeliveredMappedToDeliveryQueueModel()
        {
            List <DeliveryQueueModel> list = new List <DeliveryQueueModel>();

            foreach (tbl_DeliveryQueue item in getAllNotDelivered())
            {
                DeliveryQueueModel dmq = new DeliveryQueueModel();
                dmq.Id         = item.Id;
                dmq.SaleId     = (int)item.Sale_Id;
                dmq.CustomerId = (int)item.Customer_Id;
                tbl_Sale sale = Sale.getById(dmq.SaleId);
                dmq.TotalBill = (int)sale.Amount;
                try
                {
                    tbl_Staff staff = Staff.getById((int)item.DeliveryBoyId);
                    dmq.DeliveryBoyName = staff.Name;
                } catch { }
                list.Add(dmq);
            }
            return(list);
        }