public async Task <ActionResult <Music> > Post(
            [FromServices] MusicRepository repository,
            [FromServices] DataContext context,
            [FromBody] AddMusicCommand command)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var music = new Music(
                    command.Title.Trim(),
                    command.Reminder.Trim(),
                    command.Singer.Trim(),
                    command.Lirycs,
                    command.Notation,
                    command.Video,
                    command.Play);

                repository.Add(music);

                await context.SaveChangesAsync();

                return(Ok(new { music }));
            }
            catch (Exception)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  new { message = ErrorMessage.Internal }));
            }
        }
        public async Task <ActionResult> Import(
            [FromServices] DataContext context,
            [FromServices] MusicRepository repository
            )
        {
            try
            {
                using (var con = new MySqlConnection("Server= mysql.saidata.net.br; Database= saidata01; Uid= saidata01; Pwd= Pttsq6adj;"))
                {
                    con.Open();

                    var cmd = new MySqlCommand();
                    cmd.Connection  = con;
                    cmd.CommandText = @"SELECT `Musicas`.`Id`,
                                        `Musicas`.`Titulo`,
                                        `Musicas`.`Lembrete`,
                                        `Musicas`.`Interprete`,
                                        `Musicas`.`Letra`,
                                        `Musicas`.`Cifra`,
                                        `Musicas`.`Video`,
                                        `Musicas`.`Tocamos`
                                    FROM `saidata01`.`Musicas`";

                    var rdr = cmd.ExecuteReader();

                    while (rdr.Read())
                    {
                        var music = new Music(rdr.GetString(1), rdr.GetString(2), rdr.GetString(3), rdr.GetString(4), rdr.GetString(5), rdr.GetString(6), rdr.GetBoolean(7));
                        music.Id = rdr.GetInt32(0);
                        repository.Add(music);
                        await context.SaveChangesAsync();
                    }
                    cmd.Dispose();
                }

                return(Ok(await repository.GetMusicsAsync()));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError,
                                  new { message = ex.Message }));
            }
        }
Example #3
0
        private async Task <RequestEngineResult> AddAlbumRequest(AlbumRequest model)
        {
            await MusicRepository.Add(model);

            var result = await RunSpecificRule(model, SpecificRules.CanSendNotification);

            if (result.Success)
            {
                NotificationHelper.NewRequest(model);
            }

            await _requestLog.Add(new RequestLog
            {
                UserId      = (await GetUser()).Id,
                RequestDate = DateTime.UtcNow,
                RequestId   = model.Id,
                RequestType = RequestType.Album,
            });

            return(new RequestEngineResult {
                Result = true, Message = $"{model.Title} has been successfully added!", RequestId = model.Id
            });
        }