示例#1
0
        public HttpResponseMessage Join(int ID, DTO.Character character)
        {
            string errorResponse = "";

            try
            {
                DTO.Session session = SessionConverter.DomainToDTO(RepositoryProxy.Instance.SessionRepository.AddPlayer(ID, character));

                HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

                JObject JSession = JObject.FromObject(session);

                response.Content = new System.Net.Http.StringContent(JSession.ToString());

                response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

                return(response);
            }
            catch (Exception ex)
            {
                errorResponse = ex.Message;
            }

            return(new HttpResponseMessage(HttpStatusCode.BadRequest));
        }
示例#2
0
        public Session AddPlayer(int sessionID, DTO.Character character)
        {
            Session session = Get(sessionID);

            if (session.Characters.Where(c => c.Player.Name == character.Player.Name).FirstOrDefault() == null)
            {
                Player player = RepositoryProxy.Instance.PlayerRepository.Get(new DTO.Player()
                {
                    Name = character.Player.Name
                });
                RepositoryProxy.Instance.CharacterRepository.Add(new DTO.Character()
                {
                    Name   = character.Name,
                    Health = "20",
                    Class  = DTO.Class.Warrior,
                    Race   = DTO.Race.Human,
                    Player = new DTO.Player()
                    {
                        ID = player.PlayerID
                    },
                    SessionID = sessionID
                });
            }
            return(session);
        }
示例#3
0
        private bool EditCharacter(DTO.Character character)
        {
            HttpClientHandler clientHandler = new HttpClientHandler();
            HttpClient        client        = new HttpClient(clientHandler);
            JObject           JCharacter    = JObject.FromObject(character);
            HttpContent       Content       = new System.Net.Http.StringContent(JCharacter.ToString());

            Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");

            string connectionString      = string.Format("{0}/character/edit", _connectionString);
            HttpResponseMessage response = client.PutAsync(connectionString, Content).Result;

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                string        responseContent   = response.Content.ReadAsStringAsync().Result;
                DTO.Character characterResponse = Newtonsoft.Json.JsonConvert.DeserializeObject <DTO.Character>(responseContent);
                Character           = characterResponse;
                Character.ImagePath = character.ImagePath;
                OnPropertyChanged("Character");
                return(true);
            }
            else
            {
                MessageBox.Show("Server error " + response.StatusCode, "Warning", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
        }
示例#4
0
        public void Delete(DTO.Character character)
        {
            Character domainCharacter = new Character();

            CharacterConverter.MapDTOToDomain(character, domainCharacter);
            _db.Characters.Remove(domainCharacter);
            _db.SaveChanges();
        }
示例#5
0
        public Character Add(DTO.Character character)
        {
            Character domainCharacter = CharacterConverter.DTOToDomain(character);

            _db.Characters.Add(domainCharacter);
            _db.SaveChanges();
            return(domainCharacter);
        }
示例#6
0
        public Character Edit(DTO.Character character)
        {
            Character domainCharacter = Get(character.ID);

            CharacterConverter.MapDTOToDomain(character, domainCharacter);
            _db.Entry(domainCharacter).State = System.Data.Entity.EntityState.Modified;
            _db.SaveChanges();
            return(domainCharacter);
        }
示例#7
0
 public CharacterView(DTO.Character character)
 {
     CharName    = character.Name;
     Health      = character.Health;
     Class       = character.Class.ToString();
     Race        = character.Race.ToString();
     DataContext = this;
     InitializeComponent();
 }
示例#8
0
 public static void MapDTOToDomain(DTO.Character character, Character result)
 {
     result.CharacterID = character.ID;
     result.Name        = character.Name;
     result.Health      = int.Parse(character.Health);
     result.Class       = (Class)character.Class;
     result.Race        = (Race)character.Race;
     result.ImagePath   = character.ImagePath;
     result.PlayerID    = character.Player.ID;
 }
示例#9
0
 private void list_SelectionChanged(object sender, MouseButtonEventArgs e)
 {
     DTO.Character item = (sender as ListView).SelectedItem as DTO.Character;
     if (item != null)
     {
         CharacterView characterView = new CharacterView(item);
         characterView.Show();
         (sender as ListView).SelectedItems.Clear();
     }
 }
示例#10
0
 public static DTO.Character DomainToDTO(Character character)
 {
     DTO.Character result = new DTO.Character()
     {
         ID        = character.CharacterID,
         Name      = character.Name,
         Health    = character.Health.ToString(),
         Class     = (DTO.Class)character.Class,
         Race      = (DTO.Race)character.Race,
         ImagePath = character.ImagePath,
         Player    = PlayerConverter.DomainToDto(character.Player)
     };
     return(result);
 }
示例#11
0
        public static Character DTOToDomain(DTO.Character character)
        {
            Character result = new Character()
            {
                CharacterID = character.ID,
                Name        = character.Name,
                Health      = int.Parse(character.Health),
                Class       = (Class)character.Class,
                Race        = (Race)character.Race,
                ImagePath   = character.ImagePath,
                PlayerID    = character.Player.ID,
                SessionID   = character.SessionID
            };

            return(result);
        }
示例#12
0
        public HttpResponseMessage RemoveCharacter(DTO.Character character)
        {
            string errorResponse = "";

            try
            {
                RepositoryProxy.Instance.CharacterRepository.Delete(character);

                return(new HttpResponseMessage(HttpStatusCode.OK));;
            }
            catch (Exception ex)
            {
                errorResponse = ex.Message;
            }

            return(new HttpResponseMessage(HttpStatusCode.BadRequest));
        }
示例#13
0
 public EditCharacter(DTO.Character character)
 {
     Character = new DTO.Character()
     {
         ID     = character.ID,
         Name   = character.Name,
         Health = character.Health,
         Class  = character.Class,
         Race   = character.Race,
         Player = new DTO.Player()
         {
             ID = character.Player.ID
         }
     };
     DataContext = this;
     InitializeComponent();
 }
示例#14
0
        public HttpResponseMessage Edit(DTO.Character character)
        {
            string errorResponse = "";

            try
            {
                character = CharacterConverter.DomainToDTO(RepositoryProxy.Instance.CharacterRepository.Edit(character));
                HttpResponseMessage response   = new HttpResponseMessage(HttpStatusCode.OK);
                JObject             JCharacter = JObject.FromObject(character);
                response.Content = new System.Net.Http.StringContent(JCharacter.ToString());
                response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
                return(response);
            }
            catch (Exception ex)
            {
                errorResponse = ex.Message;
            }

            return(new HttpResponseMessage(HttpStatusCode.BadRequest));
        }
 public async Task AddAsync(DTO.Character character)
 {
     _dataContext.Characters.Add(_mapper.Map <Data.Character>(character));
     await _dataContext.SaveChangesAsync();
 }