Exemplo n.º 1
0
        /// <summary>
        /// Metoda smaže materiál určený uživatelem.
        /// </summary>
        /// <param name="materialMarked"></param>
        public void DestroyMaterial(Material materialMarked)
        {
            // Materiál vybraný ke smazání
            Material selectMaterial = null;
            bool     materialExist  = false;

            foreach (Material material in MaterialCollection)
            {
                //Sníží množství materiálu o 1, když je ho dostatek na skladě.
                if ((materialMarked == material) && (material.MaterialQuantity > 1))
                {
                    material.MaterialQuantity--;
                    DeletedMaterialCollection.Add(new Material(material.MaterialNames, material.MaterialPrice, 1));//////
                    materialMarked.MaterialChange("MaterialQuantity");
                    materialExist = true;
                }
                // Pokud jde o poslední kus materiálu, je označen pro smazání z kolekce celý jeho typ.
                else if ((materialMarked.MaterialNames.ToString() == material.MaterialNames.ToString()) && (material.MaterialQuantity == 1))
                {
                    selectMaterial = material;
                    DeletedMaterialCollection.Add(new Material(material.MaterialNames, material.MaterialPrice, 1));//////
                }
            }
            // Odstranění materiálu z kolekce.
            if ((selectMaterial != null) && (materialExist == false))
            {
                MaterialCollection.Remove(selectMaterial);
            }
            // Uložení změn
            Save();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Metoda uloží kolekce v modelu do XAML souborů (MaterialCollection, EmployeeCollection, ContractCollection, OverviewModel, TransactionCollection, DeletedMaterialCollection, DeletedEmployeeCollection, DeletedContractCollection).
        /// </summary>
        public void Save()
        {
            // K ukládání je využit serializér
            XmlSerializer materialSerializer = new XmlSerializer(MaterialCollection.GetType());

            using (StreamWriter sw = new StreamWriter(materialTrack))
            {
                materialSerializer.Serialize(sw, MaterialCollection);
            }
            XmlSerializer employeeSerializer = new XmlSerializer(EmployeeCollection.GetType());

            using (StreamWriter sw = new StreamWriter(employeeTrack))
            {
                employeeSerializer.Serialize(sw, EmployeeCollection);
            }
            XmlSerializer contractSerializer = new XmlSerializer(ContractCollection.GetType());

            using (StreamWriter sw = new StreamWriter(contractTrack))
            {
                contractSerializer.Serialize(sw, ContractCollection);
            }

            XmlSerializer overviwSerializer = new XmlSerializer(OverviewModel.GetType());

            using (StreamWriter sw = new StreamWriter(overviewTrack))
            {
                overviwSerializer.Serialize(sw, OverviewModel);
            }
            XmlSerializer accountSerializer = new XmlSerializer(TransactionCollection.GetType());

            using (StreamWriter sw = new StreamWriter(transactionTrack))
            {
                accountSerializer.Serialize(sw, TransactionCollection);
            }

            XmlSerializer deletedMaterialSerializer = new XmlSerializer(DeletedMaterialCollection.GetType());

            using (StreamWriter sw = new StreamWriter(deletedMaterialTrack))
            {
                deletedMaterialSerializer.Serialize(sw, DeletedMaterialCollection);
            }
            XmlSerializer deletedEmployeeSerializer = new XmlSerializer(DeletedEmployeeCollection.GetType());

            using (StreamWriter sw = new StreamWriter(deletedEmployeeTrack))
            {
                deletedEmployeeSerializer.Serialize(sw, DeletedEmployeeCollection);
            }
            XmlSerializer deletedContractSerializer = new XmlSerializer(DeletedContractCollection.GetType());

            using (StreamWriter sw = new StreamWriter(deletedContractTrack))
            {
                deletedContractSerializer.Serialize(sw, DeletedContractCollection);
            }
            FillingAllCollections();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Metoda, při splnění zakázky, odstraní materiál, který jí odpovídá.
        /// </summary>
        /// <param name="selectedContract">Vybraná zakázka</param>
        public void ContractMaterial(Contract selectedContract)
        {
            // Materiál ke smazání
            Material deletetMaterial = null;
            bool     materialExist   = false;

            foreach (Material material in MaterialCollection)
            {
                // Pokud je na skladě materiál, který je potřebný pro splnění zakázky, jeho množství se sníží.
                if ((selectedContract.KindMaterials.ToString() == material.MaterialNames.ToString()) && (material.MaterialQuantity >= selectedContract.Pieces))
                {
                    material.MaterialQuantity -= selectedContract.Pieces;
                    DeletedMaterialCollection.Add(new Material(material.MaterialNames, material.MaterialPrice, selectedContract.Pieces));
                    materialExist = true;
                }
                // Pokud materiál potřebný ke splnění zakázky není v dostatečném množství je vyvolána výjimka.
                else if ((selectedContract.KindMaterials.ToString() == material.MaterialNames.ToString()) && (material.MaterialQuantity < selectedContract.Pieces))
                {
                    throw new ArgumentException("Lack of material");
                }
                // Pokud je množství materiálu nulové, tak je označen pro pozdější smazání.
                else if (material.MaterialQuantity == 0)
                {
                    deletetMaterial = material;
                }
                material.MaterialChange("MaterialQuantity");
            }
            // Podmínka je splněna, pokud typ potřebného materiálu neexistuje.
            if (!materialExist)
            {
                throw new ArgumentException("Material doesn't exist");
            }
            // Smazání materiálu s nulovím množstvím
            MaterialCollection.Remove(deletetMaterial);
            // Uložení změn
            Save();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Metoda naplní kolekce v modelu z XAML souborů (MaterialCollection, EmployeeCollection, ContractCollection, OverviewModel, TransactionCollection, DeletedMaterialCollection, DeletedEmployeeCollection, DeletedContractCollection).
        /// </summary>
        public void Load()
        {
            // Využití deserializace
            XmlSerializer materialSerializer = new XmlSerializer(MaterialCollection.GetType());

            if (File.Exists(materialTrack))
            {
                using (StreamReader sr = new StreamReader(materialTrack))
                {
                    MaterialCollection = (ObservableCollection <Material>)materialSerializer.Deserialize(sr);
                }
            }
            else
            {
                MaterialCollection = new ObservableCollection <Material>();
            }
            XmlSerializer employeeSerializer = new XmlSerializer(EmployeeCollection.GetType());

            if (File.Exists(employeeTrack))
            {
                using (StreamReader sr = new StreamReader(employeeTrack))
                {
                    EmployeeCollection = (ObservableCollection <Employee>)employeeSerializer.Deserialize(sr);
                }
            }
            else
            {
                EmployeeCollection = new ObservableCollection <Employee>();
            }
            XmlSerializer contractSerializer = new XmlSerializer(ContractCollection.GetType());

            if (File.Exists(contractTrack))
            {
                using (StreamReader sr = new StreamReader(contractTrack))
                {
                    ContractCollection = (ObservableCollection <Contract>)contractSerializer.Deserialize(sr);
                }
            }
            else
            {
                ContractCollection = new ObservableCollection <Contract>();
            }

            XmlSerializer overviewSerializer = new XmlSerializer(OverviewModel.GetType());

            if (File.Exists(overviewTrack))
            {
                using (StreamReader sr = new StreamReader(overviewTrack))
                {
                    OverviewModel = (OverviewFactory)overviewSerializer.Deserialize(sr);
                }
            }
            else
            {
                OverviewModel = new OverviewFactory();
            }
            XmlSerializer accountSerializer = new XmlSerializer(TransactionCollection.GetType());

            if (File.Exists(transactionTrack))
            {
                using (StreamReader sr = new StreamReader(transactionTrack))
                {
                    TransactionCollection = (ObservableCollection <Transaction>)accountSerializer.Deserialize(sr);
                }
            }
            else
            {
                TransactionCollection = new ObservableCollection <Transaction>();
            }
            RearrangeMaterialCollection();

            XmlSerializer deletedMaterialSerializer = new XmlSerializer(DeletedMaterialCollection.GetType());

            if (File.Exists(deletedMaterialTrack))
            {
                using (StreamReader sr = new StreamReader(deletedMaterialTrack))
                {
                    DeletedMaterialCollection = (ObservableCollection <Material>)deletedMaterialSerializer.Deserialize(sr);
                }
            }
            else
            {
                DeletedMaterialCollection = new ObservableCollection <Material>();
            }
            XmlSerializer deletedEmployeeSerializer = new XmlSerializer(DeletedEmployeeCollection.GetType());

            if (File.Exists(deletedEmployeeTrack))
            {
                using (StreamReader sr = new StreamReader(deletedEmployeeTrack))
                {
                    DeletedEmployeeCollection = (ObservableCollection <Employee>)deletedEmployeeSerializer.Deserialize(sr);
                }
            }
            else
            {
                DeletedEmployeeCollection = new ObservableCollection <Employee>();
            }
            XmlSerializer deletedEontractSerializer = new XmlSerializer(DeletedContractCollection.GetType());

            if (File.Exists(deletedContractTrack))
            {
                using (StreamReader sr = new StreamReader(deletedContractTrack))
                {
                    DeletedContractCollection = (ObservableCollection <Contract>)deletedEontractSerializer.Deserialize(sr);
                }
            }
            else
            {
                DeletedContractCollection = new ObservableCollection <Contract>();
            }
            FillingAllCollections();
        }