Ejemplo n.º 1
0
        public PersonaReturnModel Create(Persona persona)
        {
            if (persona == null) throw new ArgumentNullException(nameof(persona));

            var model = Mapper.Map<PersonaReturnModel>(persona);
            model.Url = _urlHelper.Link("GetPersonaById", new {id = persona.Id});
            model.Race = CreateLite(persona.Race);
            model.Clan = CreateLite(persona.Clan);
            model.User = CreateLite(persona.User);
            return model;
        }
Ejemplo n.º 2
0
        public PersonaWithMailReturnModel CreateWithMail(Persona persona)
        {
            if (persona == null) throw new ArgumentNullException(nameof(persona));

            var model = Mapper.Map<PersonaWithMailReturnModel>(persona);
            model.Url = _urlHelper.Link("GetPersonaById", new {id = persona.Id});
            model.SentMails = persona.SentMails.Select(Create).ToList();
            model.ReceivedMails = persona.ReceivedMails.Select(Create).ToList();
            return model;
        }
Ejemplo n.º 3
0
        public async Task<IHttpActionResult> PostPersona(CreatePersonaBindingModel createPersonaModel)
        {
            if (!ModelState.IsValid)
                return BadRequest(ModelState);
            if (string.IsNullOrWhiteSpace(createPersonaModel.Username))
                return BadRequest("Username cannot be null");
            
            var persona = new Persona
            {
                Pseudo = createPersonaModel.Pseudo,
                Name = createPersonaModel.Name,
                Background = createPersonaModel.Background,
                Generation = 1,
                ExperienceActual = 3000,
                ExperienceRemaining = 3000,
                Nights = 0,
                Willingness = 10,
                Humanity = 10
            };

            var user = await TheUserManager.FindByNameAsync(createPersonaModel.Username);
            if (user == null)
                return BadRequest("User not found");

            user.Personae.Add(persona);

            var updateUserResult = await TheUserManager.UpdateAsync(user);

            if (!updateUserResult.Succeeded)
                return GetErrorResult(updateUserResult);

            var locationHeader = new Uri(Url.Link("GetPersonaById", new { id = persona.Id }));

            return Created(locationHeader, TheModelFactory.Create(persona));
        }
Ejemplo n.º 4
0
        public PersonaWithAllReturnModel CreateWithAll(Persona persona)
        {
            if (persona == null) throw new ArgumentNullException(nameof(persona));

            var model = Mapper.Map<PersonaWithAllReturnModel>(persona);
            model.Url = _urlHelper.Link("GetPersonaById", new {id = persona.Id});
            return model;
        }
Ejemplo n.º 5
0
        //[HttpGet]
        //[Route("{id:int}/mails")]
        //[ResponseType(typeof(List<Mail>))]
        //public async Task<IHttpActionResult> GetLetterBox(int id)
        //{
        //    var persona = await ThePersonaStore.FindByIdAsync(id);

        //    if (persona != null)
        //    {
        //        var result = persona.LetterBox
        //            .Select(mail => TheModelFactory.Create(mail));

        //        return !result.Succeeded
        //            ? GetErrorResult(result)
        //            : Ok();
        //    }

        //    return NotFound();
        //}

        protected void UpdateEntity(ref Persona persona, UpdatePersonaBindingModel updatePersonaModel)
        {
            if (updatePersonaModel.Pseudo != null)
                persona.Pseudo = updatePersonaModel.Pseudo;
            if (updatePersonaModel.Name != null)
                persona.Name = updatePersonaModel.Name;
            if (updatePersonaModel.Background != null)
                persona.Background = updatePersonaModel.Background;
            if (updatePersonaModel.Generation.HasValue)
                persona.Generation = updatePersonaModel.Generation.Value;
            if (updatePersonaModel.ExperienceActual.HasValue)
                persona.ExperienceActual = updatePersonaModel.ExperienceActual.Value;
            if (updatePersonaModel.ExperienceRemaining.HasValue)
                persona.ExperienceRemaining = updatePersonaModel.ExperienceRemaining.Value;
            if (updatePersonaModel.Nights.HasValue)
                persona.Nights = updatePersonaModel.Nights.Value;
            if (updatePersonaModel.Willingness.HasValue)
                persona.Willingness = updatePersonaModel.Willingness.Value;
            if (updatePersonaModel.Humanity.HasValue)
                persona.Humanity = updatePersonaModel.Humanity.Value;
        }