public async Task <IHttpActionResult> AddEmojiFromFaceAnalysis([FromBody] AddEmojiFromFaceAnalysisDto addEmojiFromFaceAnalysisDto)
        {
            // Validate parameters
            if (!ModelState.IsValid || addEmojiFromFaceAnalysisDto == null)
            {
                return(BadRequest());
            }

            using (var dbContext = new HappyMeterDatabaseContext())
            {
                // The provided Emotion has to exist (but doesn't have to be active)
                var fittingEmoji =
                    await dbContext.Emotions.FirstOrDefaultAsync(e => e.Smiley == addEmojiFromFaceAnalysisDto.EmojiCode);

                if (fittingEmoji == null)
                {
                    return(BadRequest());
                }

                dbContext.EmotionalStates.Add(new EmotionalState
                {
                    EmotionId   = fittingEmoji.Id,
                    CreatedDate = DateTime.UtcNow
                });

                await dbContext.SaveChangesAsync();

                return(Ok());
            }
        }
        public async Task <IHttpActionResult> AddEmotionalState([FromBody] AddEmotionalStateDto addEmotionalStateDto)
        {
            // Validate parameters
            if (!ModelState.IsValid || addEmotionalStateDto == null)
            {
                return(BadRequest());
            }

            using (var dbContext = new HappyMeterDatabaseContext())
            {
                // The provided Emotion has to exist and be active
                if (!await dbContext.Emotions.AnyAsync(e => e.Id == addEmotionalStateDto.EmotionId && e.IsActive))
                {
                    return(BadRequest());
                }


                dbContext.EmotionalStates.Add(new EmotionalState
                {
                    EmotionId   = addEmotionalStateDto.EmotionId,
                    Comment     = addEmotionalStateDto.Comment,
                    CreatedDate = DateTime.UtcNow
                });

                await dbContext.SaveChangesAsync();

                return(Ok());
            }
        }
示例#3
0
        public async Task <IHttpActionResult> SetSmileyForEmotion([FromBody] ChangeEmotionSmileyDto changeEmotionSmileyDto)
        {
            // Validate parameters
            if (!ModelState.IsValid || changeEmotionSmileyDto == null)
            {
                return(BadRequest());
            }

            using (var dbContext = new HappyMeterDatabaseContext())
            {
                if (await dbContext.Emotions.AnyAsync(e => e.Smiley == changeEmotionSmileyDto.NewSmileyCode))
                {
                    return(BadRequest());
                }

                var data = await dbContext.Emotions.FindAsync(changeEmotionSmileyDto.EmotionId);

                if (data == null)
                {
                    return(NotFound());
                }

                data.Smiley = changeEmotionSmileyDto.NewSmileyCode;

                await dbContext.SaveChangesAsync();

                return(Ok());
            }
        }
示例#4
0
        public async Task <IHttpActionResult> AddNewEmotion([FromBody] AddNewEmotionDto addNewEmotionDto)
        {
            // Validate parameters
            if (!ModelState.IsValid || addNewEmotionDto == null)
            {
                return(BadRequest());
            }

            using (var dbContext = new HappyMeterDatabaseContext())
            {
                if (await dbContext.Emotions.AnyAsync(e => e.Smiley == addNewEmotionDto.NewSmileyCode))
                {
                    return(BadRequest());
                }

                dbContext.Emotions.Add(new Emotion
                {
                    Smiley   = addNewEmotionDto.NewSmileyCode,
                    IsActive = true
                });

                await dbContext.SaveChangesAsync();

                return(Ok());
            }
        }
        public async Task <IHttpActionResult> SetNewUsername([FromBody] SetUsernameDto setUsernameDto)
        {
            // Validate parameters
            if (!ModelState.IsValid || setUsernameDto == null)
            {
                return(BadRequest());
            }

            var authorizedAdministrator =
                (Administrator)ActionContext.Request.Properties[AuthorizationConstants.UserInformationKey];

            using (var dbContext = new HappyMeterDatabaseContext())
            {
                if (await dbContext.Administrators.AnyAsync(a => a.Username == setUsernameDto.NewUsername))
                {
                    return(BadRequest());
                }

                dbContext.Administrators.Attach(authorizedAdministrator);

                authorizedAdministrator.UpdateUsername(setUsernameDto.NewUsername);

                await dbContext.SaveChangesAsync();

                return(Ok());
            }
        }
示例#6
0
        public async Task <IHttpActionResult> SetActiveForEmotion([FromBody] ChangeEmotionIsActiveDto changeEmotionIsActiveDto)
        {
            // Validate parameters
            if (!ModelState.IsValid || changeEmotionIsActiveDto == null)
            {
                return(BadRequest());
            }

            using (var dbContext = new HappyMeterDatabaseContext())
            {
                var data = await dbContext.Emotions.FindAsync(changeEmotionIsActiveDto.EmotionId);

                if (data == null)
                {
                    return(NotFound());
                }

                data.IsActive = changeEmotionIsActiveDto.IsActive;

                await dbContext.SaveChangesAsync();

                return(Ok());
            }
        }