Beispiel #1
0
        public SaleListViewModel GetCurrentSaleList()
        {
            SaleListViewModel currentSaleList = null;
            var sales = salesDBDao.GetOnGoingSaleList();

            if (sales.Rows.Count == 0)
            {
                currentSaleList = new SaleListViewModel()
                {
                    SheetID   = Guid.NewGuid(),
                    Change    = 0,
                    PayValue  = 0,
                    SaleValue = 0,
                    DiscValue = 0,
                    //TO DO: update to login user
                    CashierID = "Tester",
                    ShopID    = "A001"
                };
                salesDBDao.NewSaleList(
                    currentSaleList.SheetID.ToString(),
                    currentSaleList.CashierID,
                    currentSaleList.ShopID,
                    currentSaleList.PayValue,
                    currentSaleList.SaleValue,
                    currentSaleList.DiscValue);
            }
            else
            {
                currentSaleList = SaleListDTConverter.GetModel(sales).First();
            }
            return(currentSaleList);
        }
        public JsonResult GetSale()
        {
            SaleService       os     = new SaleService();
            SaleListViewModel result = os.GetAllSale();

            var datas = new { result.data };

            return(Json(datas, JsonRequestBehavior.AllowGet));
        }
Beispiel #3
0
        public SaleListViewModel GetAllSale()
        {
            SaleListViewModel result = new SaleListViewModel();

            result.data = new List <SaleViewModel>();
            DBModel             context = new DBModel();
            DbRepository <Sale> repo    = new DbRepository <Sale>(context);

            foreach (var item in repo.GetAll().OrderBy((x) => x.Sale_Product))
            {
                SaleViewModel s = new SaleViewModel()
                {
                    Sale_ID        = item.Sale_ID,
                    Sale_Product   = item.Sale_Product,
                    Sale_UnPrice   = item.Sale_UnPrice,
                    Sale_FristDate = item.Sale_FristDate,
                    Sale_LastDate  = item.Sale_LastDate
                };
                result.data.Add(s);
            }
            return(result);
        }
Beispiel #4
0
        public static List <SaleListViewModel> GetModel(DataTable dtData)
        {
            var items = new List <SaleListViewModel>();

            foreach (DataRow row in dtData.Rows)
            {
                Guid sheetid;
                Guid.TryParse(Convert.ToString(row["SheetID"]), out sheetid);
                var item = new SaleListViewModel
                {
                    SheetID   = sheetid,
                    CashierID = Convert.ToString(row["CashierID"]),
                    PayValue  = Convert.ToDecimal(row["PayValue"]),
                    SaleValue = Convert.ToDecimal(row["SaleValue"]),
                    DiscValue = Convert.ToDecimal(row["DiscValue"]),
                    Change    = Convert.ToDecimal(row["PayValue"]) - (Convert.ToDecimal(row["SaleValue"]) - Convert.ToDecimal(row["DiscValue"]))
                };
                items.Add(item);
            }

            return(items);
        }
Beispiel #5
0
        public SaleListItemViewModel AddGoods(int goodsID, SaleListViewModel saleList, ObservableCollection <SaleListItemViewModel> salelistItems)
        {
            var goods    = localDBDao.GetGoods(goodsID);
            int newSeqID = 1;

            if (salelistItems.Count > 0)
            {
                newSeqID = salelistItems.Max(x => x.SeqID) + 1;
            }

            var newItem = new SaleListItemViewModel
            {
                SheetID   = saleList.SheetID,
                SeqID     = newSeqID,
                GoodsID   = goodsID,
                GoodsName = goods.Rows[0]["shortname"].ToString(),
                BarcodeID = goods.Rows[0]["barcodeid"].ToString(),
                Quantity  = 1,
                SalePrice = Convert.ToDecimal(goods.Rows[0]["Price"]),
                SaleValue = Convert.ToDecimal(goods.Rows[0]["Price"]) * 1,
                Cost      = Convert.ToDecimal(goods.Rows[0]["cost"])
            };

            salelistItems.Add(newItem);
            this.UpdateSalesData(saleList, salelistItems);
            salesDBDao.AddSaleListItem(newItem.SheetID.ToString(),
                                       newItem.SeqID,
                                       newItem.GoodsID,
                                       newItem.GoodsName,
                                       newItem.BarcodeID,
                                       newItem.Quantity,
                                       newItem.Cost,
                                       newItem.SalePrice,
                                       newItem.SaleValue,
                                       newItem.DiscValue);
            return(newItem);
        }
Beispiel #6
0
        public void DeleteSalelistItems(string sheetID, List <SaleListItemViewModel> deleteItems, SaleListViewModel saleList, ObservableCollection <SaleListItemViewModel> salelistItems)
        {
            List <int> seqs = new List <int>();

            foreach (var deleteItem in deleteItems)
            {
                seqs.Add(deleteItem.SeqID);
                salelistItems.Remove(deleteItem);
            }

            this.salesDBDao.DeleteSalelistItems(sheetID, seqs);
            this.UpdateSalesData(saleList, salelistItems);
        }
Beispiel #7
0
 public void CalcTotalValue(SaleListViewModel saleList, ObservableCollection <SaleListItemViewModel> salelistItems)
 {
     //TO DO: Process sales promotion
     saleList.SaleValue = salelistItems.Sum(x => x.SaleValue);
     saleList.DiscValue = salelistItems.Sum(x => x.DiscValue);
 }
Beispiel #8
0
 public void UpdateSalesData(SaleListViewModel saleList, ObservableCollection <SaleListItemViewModel> salelistItems)
 {
     this.CalcTotalValue(saleList, salelistItems);
     saleList.Change = saleList.PayValue - saleList.SaleValue + saleList.DiscValue;
     this.salesDBDao.UpdateSaleList(saleList.SheetID.ToString(), saleList.PayValue, saleList.SaleValue, saleList.DiscValue);
 }