public bool SaveInventoryCheckResult(List <InventoryCheckViewModel> stockchecklist)
        {
            List <Inventory_Status_Record> records = new List <Inventory_Status_Record>();

            foreach (var item in stockchecklist)
            {
                Inventory_Status_Record record = new Inventory_Status_Record();
                record.date           = DateTime.Today;
                record.discrepancyQty = item.Discrepancy;
                record.itemCode       = item.ItemCode;
                record.onHandQty      = item.StockQuantity;
                record.remarks        = item.Remarks;

                records.Add(record);
            }

            try
            {
                inventoryDAO.AddNewInventoryStatusRecords(records);
                return(true);
            }
            catch (Exception e)
            {
                throw new Exception("Error when writing inventory status records");
            }
        }
        private InventoryCheckViewModel ConvertToInventoryCheckViewModel(Inventory_Status_Record record)
        {
            Stationery s = stationeryService.FindStationeryByItemCode(record.itemCode);

            InventoryCheckViewModel vm = new InventoryCheckViewModel();

            vm.ActualQuantity        = record.discrepancyQty + record.onHandQty;
            vm.CategoryID            = s.categoryID;
            vm.CategoryName          = s.Category.categoryName;
            vm.Discrepancy           = record.discrepancyQty;
            vm.ItemCode              = record.itemCode;
            vm.Location              = s.location;
            vm.Remarks               = record.remarks;
            vm.StationeryDescription = s.description;
            vm.StockQuantity         = record.onHandQty;
            vm.UOM            = s.unitOfMeasure;
            vm.StockCheckDate = record.date;

            return(vm);
        }