コード例 #1
0
ファイル: ChartModel.cs プロジェクト: Hedonista/RPGonline
        // Metoda tworząca plik XML z danymi. Nazwa pliku jest równa wartości pola ChartID
        // przekazanego w obiekcie typu CharacterChart. Jeżeli pole to będzie NULL, to
        // funkcja nie stworzy pliku.
        //
        // UWAGA! Nadpisuje istniejące pliki!
        void GenerateXml(CharacterChart chart, string Source = null)
        {
            if (chart.ChartID == null) return;

            if (Source == null)
            {
                CharacterChartSrc = DefaultConstants.Application.DefaultXmlLocalization(
                                        ChartID.ToString(),
                                        DefaultConstants.Application.DefaultChartXmlFolder
                                        );
            }
            else
            {
                CharacterChartSrc = DefaultConstants.Application.DefaultXmlLocalization(
                                        ChartID.ToString(),
                                        Source.ToString()
                                        );
            }

            // Tworzenie nowego pliku XML. Dalszy opis w XmlModels.Chart(CharacterChart chart)
            XmlModels.Chart chartXml = new XmlModels.Chart(chart);
            return;
        }
コード例 #2
0
ファイル: ChartModel.cs プロジェクト: Hedonista/RPGonline
        // Konstruktor pobierające dane z pliku XML. Identyfikator i nazwa nie są
        // generowane, tylko pobierane z pliku.
        /// <summary>Tworzy gotowy obiekt z danymi odczytanymi z XML</summary>
        /// <param name="chartID">ID karty, której dane chcemy pobrać</param>
        public CharacterChart(
            string chartID
            )
        {
            // Odczytywanie pliku XML. Odczytane dane muszą być jeszcze przekazane do
            // bieżącego obiektu.
            //
            // todo: Uwaga na NullReferenceException w przypadku, gdy plik nie
            //       będzie istniał.
            // todo: Przejęcie wyjątku przez konstruktor i przekazanie go dalej.
            XmlModels.Chart chartXml = new XmlModels.Chart(chartID);

            if (chartXml.ExceptionHandler == null)
            {
                CharacterChartDbModel dbData = ApplicationDbContext.Create().CharacterCharts.Find(chartID);

                this.ChartID     = chartID;
                Name             = chartXml.CharacterChartName;
                ChartDescription = chartXml.CharacterChartDescription;
                DataNames        = chartXml.DataNames;
                StatNames        = chartXml.StatNames;
                AttributeNames   = chartXml.AttributeNames;
                SkillNames       = chartXml.SkillNames;
                Equipment        = chartXml.Equipment;
                Description      = chartXml.Description;

                UserID           = dbData.CreatorUserID;
            }
            else
            {
                // Wstęp do obsługi wyjątków
                //
                // todo: Należy przepisać kod tak, aby przejmował wyjątki i przekazywał
                //       je dalej.
                ExceptionHandler = chartXml.ExceptionHandler;
            }
        }