Example #1
0
        // Konstruktor tworzący kompletny obiekt zawierający wszystkie dane dotyczące gracza. Tworzony
        // jest nowy plik XML (lub nadpisywany istniejący) zawierający informacje o graczu.
        //
        // todo: Pliki są tworzone również dla anonimowych użytkowników (niezalogowanych), można
        //       by zrobić mechanizm, który będzie usuwał stare pliki, żeby nie zajmowały miejsca na
        //       serwerze. Dostęp do pliku z poziomu niezalogowanego użytkownika jest obecnie niemożliwy.
        public CharacterDbModel(
            Character character,
            ApplicationUser user = null
            ) : this(user)
        {
            // Tworzenie pliku XML (nadpisuje istniejące pliki)
            XmlModels.Character characterXml = new XmlModels.Character(character);

            // Aktualizacja danych w modelu
            CharacterName    = character.Name;
            ChartID          = character.ChartID;
            CharacterID      = character.CharacterID;
            AvatarImgSrc     = character.AvatarImg;
            CharacterDataSrc = DefaultConstants.Application.DefaultXmlLocalization(
                                    CharacterID.ToString(),
                                    DefaultConstants.Application.DefaultCharacterXmlFolder
                                    );
        }
 public CharacterViewModel(
     Character Model
     )
 {
     CharacterID   = Model.CharacterID;
     ChartID       = Model.ChartID;
     UserID        = Model.UserID;
     UserData      = Model.UserData;
     Name          = Model.Name;
     AvatarImg     = Model.AvatarImg;
     Equipment     = Model.Equipment;
     Description   = Model.Description;
     Data          = Model.Data;
     Stats         = Model.Stats;
     Attributes    = Model.Attributes;
     Skills        = Model.Skills;
     IsDescription = Model.IsDescription;
     IsEquipment   = Model.IsEquipment;
 }
        public async Task<ActionResult> Create(CharacterViewModel Model)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.Find(User.Identity.GetUserId());

                Character characterModel = 
                    new Character(
                        Request.Form,
                        Request.Files,
                        user);

                CharacterDbModel dbModel = 
                    new CharacterDbModel(
                        characterModel,
                        user);

                db.Characters.Add(dbModel);
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }

            return View(Model);
        }
        public async Task<ActionResult> Edit(CharacterDbModel character)
        {
            if (ModelState.IsValid)
            {
                var user = db.Users.Find(User.Identity.GetUserId());

                Character characterModel =
                    new Character(
                        Request.Form,
                        Request.Files,
                        user);

                CharacterDbModel dbModel =
                    new CharacterDbModel(
                        characterModel,
                        user);

                db.Entry(character).State = EntityState.Modified;
                await db.SaveChangesAsync();
                return RedirectToAction("Index");
            }
            return View(character);
        }