Exemple #1
0
        public ActionResult <SongRead> CreateSong(SongCreate newSong)
        {
            Request.Headers.TryGetValue("email", out var emailValue);
            Request.Headers.TryGetValue("UserName", out var userID);

            if (_repository.GetUserById(userID) == null)
            {
                if (userID != "")
                {
                    var user = new UserCreate();
                    user.name  = userID;
                    user.email = emailValue;
                    var userModel = _mapper.Map <UserData>(user);
                    _repository.CreateUser(userModel);
                    _repository.SaveChanges();
                }
                else
                {
                    return(Unauthorized("Invalid user"));
                }
            }

            var songModel = _mapper.Map <SongData>(newSong);

            _repository.CreateSong(songModel);
            _repository.SaveChanges();
            var songRead = _mapper.Map <SongRead>(songModel);

            return(Ok(songRead));
        }