예제 #1
0
        private void deleteVolumeFromPreviusBox()
        {
            var previusBox = BoxDAO.getBox(Item.Container);

            previusBox.RemainVolume += Item.Volume;
            BoxDAO.updateBox(previusBox);
        }
예제 #2
0
        private void deleteItem(NSIndexPath indexPath)
        {
            var index = indexPath.Row;
            var item  = Items[index];

            if (item.Container != 0)
            {
                var box = boxDAO.getBox(item.Container);
                box.RemainVolume += item.Volume;
                boxDAO.updateBox(box);
            }
            Items.Remove(item);
            TableView.DeleteRows(new NSIndexPath[] { indexPath }, UITableViewRowAnimation.Fade);
            itemDAO.deleteItem(item);
        }
예제 #3
0
        public override void CommitEditingStyle(UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath)
        {
            switch (editingStyle)
            {
            case UITableViewCellEditingStyle.Delete:
                var item = Items[indexPath.Row];
                var box  = boxDAO.getBox(item.Container);
                box.RemainVolume += item.Volume;
                boxDAO.updateBox(box);
                item.Container = 0;
                itemDAO.updateItem(item);
                Items.Remove(item);
                tableView.DeleteRows(new NSIndexPath[] { indexPath }, UITableViewRowAnimation.Fade);
                break;

            default:
                break;
            }
        }
예제 #4
0
        private void PackingInOneBox(List <Model.Item> list, int boxID)
        {
            var box = boxDAO.getBox(boxID);

            if (list.Count != 0)
            {
                boxDAO.resetBox(boxID);

                List <Packing.Item> itemsToPack = convertListItem(list);

                List <Packing.Entities.Container> containers = new List <Packing.Entities.Container>();

                containers.Add(convertBox(box));

                List <int> algorithms = new List <int>();
                algorithms.Add((int)AlgorithmType.EB_AFIT);

                //Avvio algoritmo EB-AFIT
                List <ContainerPackingResult> result = PackingService.Pack(containers, itemsToPack, algorithms);

                List <Packing.Item> listPacked   = new List <Packing.Item>();
                List <Packing.Item> listUnpacked = new List <Packing.Item>();

                var container = 0;
                foreach (var a in result)
                {
                    container = a.ContainerID;

                    foreach (var i in a.AlgorithmPackingResults)
                    {
                        listPacked   = i.PackedItems;
                        listUnpacked = i.UnpackedItems;
                    }
                }

                foreach (var v in listPacked)
                {
                    var item = itemDAO.getItem(v.ID);
                    item.updateCoordinate(v.CoordX, v.CoordY, v.CoordZ, v.PackDimX, v.PackDimY, v.PackDimZ);
                    itemDAO.updateItem(item);
                }


                if (listUnpacked.Count == 0 && listPacked.Count == 0)
                {
                    alert("Impossibile completare", "Non è stato possibile inserire nessun oggetto nel pacco", "ok");
                }
                else
                {
                    if (listUnpacked.Count == 0)
                    {
                        alert("Completato", "Tutti gli oggetti sono stati inseriti", "ok");
                        insertPackedItem(listPacked, container);
                    }
                    else
                    {
                        alert("Non tutti gli oggetti entrano nel pacco", "Apri i dettagli del pacco per controllare quali sono stati inseriti", "ok");
                        insertPackedItem(listPacked, container);
                    }
                }
            }
        }
예제 #5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            Box = boxDAO.getBox(IDBox);
        }
예제 #6
0
 private void loadData()
 {
     items = itemDAO.getAllItemInBox(IDBox);
     Box   = boxDAO.getBox(IDBox);
 }