public ActionResult Cadastrar()
        {
            var viewModel = new ResponsavelViewModel();

            viewModel.Responsaveis = _unit.ResponsavelRepository.Listar();
            return(View(viewModel));
        }
예제 #2
0
        public IActionResult PostResponsavel([FromForm] ResponsavelViewModel request)
        {
            MySqlConnection conn = new MySqlConnection(_appSettings.ConnectionString);

            try
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand("INSERT INTO User (UserName, UserCpf, UserEmail) VALUES(@UserName, @UserCpf, @UserEmail)", conn))
                {
                    cmd.Parameters.AddWithValue("@UserName", request.ResponsavelName);
                    cmd.Parameters.AddWithValue("@UserCpf", request.ResponsavelCpf);
                    cmd.Parameters.AddWithValue("@UserEmail", request.ResponsavelEmail);

                    cmd.ExecuteNonQuery();
                }

                return(RedirectToAction("CadastrarResponsavel"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }
예제 #3
0
        public async Task <IActionResult> Atualizar(Guid id, ResponsavelViewModel responsavelViewModel)
        {
            if (id != responsavelViewModel.Id)
            {
                return(NotFound());
            }

            if (!ModelState.IsValid)
            {
                return(PartialView("_Atualizar", responsavelViewModel));
            }

            await _responsavelService.Atualizar(responsavelViewModel);

            if (!OperacaoValida)
            {
                return(PartialView("_Atualizar", responsavelViewModel));
            }

            TempData["Sucesso"] = "Responsável atualizado com sucesso!";

            var url = Url.Action("ObterResponsaveis");

            return(Json(new { success = true, url }));
        }
        public async Task <bool> SalvarResponsavel(ResponsavelViewModel responsavelVM)
        {
            try
            {
                var responsavel = Mapper.Map <Responsavel>(responsavelVM);
                if (responsavel.Id == 0)
                {
                    await BeginTransaction();

                    await Task.Run(() => _responsavelRepository.Add(responsavel));
                    await Commit();

                    await _usuarioApplicationService.ValidarExistenciaUsuario(responsavel.Telefone, "Responsavel");
                }
                else
                {
                    await BeginTransaction();

                    await Task.Run(() => _responsavelRepository.Update(responsavel));
                    await Commit();
                }
                return(true);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
 public ActionResult Cadastrar(ResponsavelViewModel resp)
 {
     _unit.ResponsavelRepository.Cadastrar(resp.Responsavel);
     _unit.Salvar();
     TempData["msg"] = "Responsável registrado";
     return(RedirectToAction("Cadastrar"));
 }
예제 #6
0
 public async Task <IHttpActionResult> DeletarResponsavel(ResponsavelViewModel responsavel)
 {
     try
     {
         return(Ok(await _responsavelAppService.DeletarResponsavel(responsavel)));
     }
     catch (Exception e)
     {
         return(InternalServerError(e));
     }
 }
        public async Task <ResponseResult> Atualizacao(ResponsavelViewModel responsavel)
        {
            var responsavelContent = ObterConteudo(responsavel);

            var response = await _httpClient.PutAsync($"/responsavel-editar/", responsavelContent);

            // var response = await _httpClient.PutAsync($"/responsavel-editar/{usuario.Id}", responsavelContent);

            if (!TratarErrosResponse(response))
            {
                return(await DeserializarObjetoResponse <ResponseResult>(response));
            }

            return(RetornoOk());
        }
예제 #8
0
        public async Task Atualizar(ResponsavelViewModel responsavelViewModel)
        {
            var responsavel = _mapper.Map <Responsavel>(responsavelViewModel);

            if (!ExecutarValidacao(new ResponsavelValidation(), responsavel))
            {
                return;
            }

            if (_responsavelRepository.Buscar(r => r.Cpf == responsavel.Cpf && r.Id != responsavel.Id).Result.Any())
            {
                Notificar("Já existe um responsável cadastrado com este CPF informado.");
                return;
            }

            _responsavelRepository.Atualizar(responsavel);
            await _responsavelRepository.UnitOfWork.Commit();
        }
        public async Task <IActionResult> Edicao(ResponsavelViewModel responsavelViewModel)
        {
            var responsavel = await _responsavelService.ObterResponsavelPorId(responsavelViewModel.Id);

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

            //var resposta = await _responsavelService.Atualizacao(_mapper.Map<ResponsavelRegistro>(usuarioViewModel));
            var resposta = await _responsavelService.Atualizacao(responsavelViewModel);

            if (ResponsePossuiErros(resposta))
            {
                TempData["Erros"] =
                    ModelState.Values.SelectMany(v => v.Errors.Select(e => e.ErrorMessage)).ToList();
            }

            return(RedirectToAction("Detalhe", new { id = responsavelViewModel.Id }));
        }
예제 #10
0
        public async Task <IActionResult> Cadastrar(ResponsavelViewModel responsavelViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView("_Cadastro", responsavelViewModel));
            }

            await _responsavelService.Adicionar(responsavelViewModel);

            if (!OperacaoValida)
            {
                return(PartialView("_Cadastro", responsavelViewModel));
            }

            TempData["Sucesso"] = "Responsável cadastrado com sucesso!";

            var url = Url.Action("ObterResponsaveis", "Responsaveis");

            return(Json(new { success = true, url }));
        }
        public IActionResult Busca([FromForm] string ResponsavelCpf)
        {
            MySqlConnection      conn        = new MySqlConnection(_appSettings.ConnectionString);
            ResponsavelViewModel Responsavel = null;

            try
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand("SELECT UserID FROM User WHERE UserCpf LIKE '%" + ResponsavelCpf + "%'", conn))
                {
                    MySqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        if (Responsavel == null)
                        {
                            Responsavel = new ResponsavelViewModel
                            {
                                ResponsavelID = dataReader.GetInt32(0)
                            };
                        }
                    }
                }

                if (Responsavel == null)
                {
                    return(RedirectToAction("Index", "Usuario"));
                }

                return(RedirectToAction("Consulta", new { id = Responsavel.ResponsavelID }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }
예제 #12
0
        public IActionResult CadastrarResponsavel()
        {
            MySqlConnection      conn = new MySqlConnection(_appSettings.ConnectionString);
            ResponsavelViewModel ResponsavelViewModel = new ResponsavelViewModel();

            try
            {
                conn.Open();

                return(View(new ResponsavelViewModel {
                }));
            }

            catch (Exception ex)
            {
                return(View(ex));
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }
        public async Task <bool> DeletarResponsavel(ResponsavelViewModel responsavelVM)
        {
            try
            {
                var responsavel = Mapper.Map <Responsavel>(responsavelVM);
                if (await ValidarDeletarResponsavel(responsavel.Id))
                {
                    await _usuarioApplicationService.ValidarExclusaoUsuario(responsavel.Telefone, "R");

                    await BeginTransaction();

                    await Task.Run(() => _responsavelRepository.Delete(responsavel));
                    await Commit();

                    return(true);
                }
                return(false);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #14
0
        public IActionResult CadastrarDependente(int id)
        {
            MySqlConnection      conn = new MySqlConnection(_appSettings.ConnectionString);
            DependenteViewModel  DependenteViewModel = new DependenteViewModel();
            ResponsavelViewModel Responsavel         = new ResponsavelViewModel();

            try
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand("SELECT UserID, UserName, UserCpf, UserEmail FROM User WHERE UserID =" + id, conn))
                {
                    MySqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        Responsavel.ResponsavelID    = dataReader.GetInt32(0);
                        Responsavel.ResponsavelName  = dataReader.GetString(1);
                        Responsavel.ResponsavelCpf   = dataReader.GetString(2);
                        Responsavel.ResponsavelEmail = dataReader.GetString(3);
                    }
                }

                ViewData["ResponsavelID"] = Responsavel;

                return(View(new DependenteViewModel {
                }));
            }
            catch (Exception ex)
            {
                return(View(ex));
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }
예제 #15
0
        public IActionResult CadastrarVacina(int id)
        {
            MySqlConnection        conn        = new MySqlConnection(_appSettings.ConnectionString);
            ResponsavelViewModel   Responsavel = null;
            List <VacinaViewModel> Vacinas     = new List <VacinaViewModel>();
            List <DoseViewModel>   Doses       = new List <DoseViewModel>();

            try
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand("SELECT User.UserID, User.UserName, User.UserCpf, User.UserEmail, Dependent.DependentID, Dependent.DependentName, Dependent.DependentBirth, Dependent.DependentBlood, Dependent.DependentAllergy, Dependent.DependentSusNo FROM User left JOIN Dependent ON (User.UserID = Dependent.User_UserID) WHERE User.UserID =" + id, conn))
                {
                    MySqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        if (Responsavel == null)
                        {
                            Responsavel = new ResponsavelViewModel
                            {
                                ResponsavelID    = dataReader.GetInt32(0),
                                ResponsavelName  = dataReader.GetString(1),
                                ResponsavelCpf   = dataReader.GetString(2),
                                ResponsavelEmail = dataReader.GetString(3)
                            };
                            Responsavel.Dependentes = new List <DependenteViewModel>();
                        }
                        Responsavel.Dependentes.Add(new DependenteViewModel
                        {
                            ResponsavelID    = dataReader.GetInt32(0),
                            DependentID      = dataReader.GetInt32(4),
                            DependentName    = dataReader.GetString(5),
                            DependentBirth   = dataReader.GetDateTime(6),
                            DependentBlood   = dataReader.GetString(7),
                            DependentAllergy = dataReader.GetString(8),
                            DependentSus     = dataReader.GetString(9)
                        });
                    }
                }

                using (MySqlCommand cmd2 = new MySqlCommand("SELECT Vaccine.VaccineID, Vaccine.VaccineName FROM Vaccine", conn))
                {
                    MySqlDataReader dataReader = cmd2.ExecuteReader();
                    while (dataReader.Read())
                    {
                        Vacinas.Add(new VacinaViewModel
                        {
                            VacinaId   = dataReader.GetInt32(0),
                            VacinaName = dataReader.GetString(1)
                        });
                    }
                }

                using (MySqlCommand cmd3 = new MySqlCommand("SELECT Dose.DoseID, Dose.DoseType FROM Dose", conn))
                {
                    MySqlDataReader dataReader = cmd3.ExecuteReader();
                    while (dataReader.Read())
                    {
                        Doses.Add(new DoseViewModel
                        {
                            DoseID   = dataReader.GetInt32(0),
                            DoseType = dataReader.GetString(1)
                        });
                    }
                }

                ViewData["ResponsavelID"] = Responsavel;
                ViewData["Vacinas"]       = Vacinas;
                ViewData["Doses"]         = Doses;

                return(View(new DoseViewModel {
                }));
            }
            catch (Exception ex)
            {
                return(View(ex));
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }
예제 #16
0
        #pragma warning disable 1998
        public async override global::System.Threading.Tasks.Task ExecuteAsync()
        {
            BeginContext(28, 2, true);
            WriteLiteral("\r\n");
            EndContext();
#line 3 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarDependente.cshtml"

            ResponsavelViewModel Responsavel = (ResponsavelViewModel)ViewData["ResponsavelID"];

#line default
#line hidden
            BeginContext(126, 119, true);
            WriteLiteral("<div class=\"row\">\r\n    <div class=\"col-12\">\r\n        <div class=\"col-md-6 offset-md-3\">\r\n            <h2>Responsável - ");
            EndContext();
            BeginContext(246, 27, false);
#line 9 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarDependente.cshtml"
            Write(Responsavel.ResponsavelName);

#line default
#line hidden
            EndContext();
            BeginContext(273, 162, true);
            WriteLiteral("</h2>\r\n        </div>\r\n        <br />\r\n    </div>\r\n</div>\r\n\r\n<div class=\"row\">\r\n    <div class=\"col-12\">\r\n        <div class=\"col-md-6 offset-md-3\">\r\n            ");
            EndContext();
            BeginContext(435, 1684, false);
            __tagHelperExecutionContext = __tagHelperScopeManager.Begin("form", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "5a964c2d04e8f1962a93aee492d5baee0b3840eb5322", async() => {
                BeginContext(494, 1439, true);
                WriteLiteral(@"
                <div>
                    <h3 class=""espaco"">Cadastro de dependente</h3>
                </div>
                <div class=""form-group"">
                    <input type=""text"" class=""form-control sem-borda"" placeholder=""Nome""
                           id=""DependentName"" name=""DependentName"">
                </div>
                <div class=""form-group"">
                    <input type=""date"" class=""form-control sem-borda""
                           placeholder=""Data de Nascimento"" id=""dataDeNascimento""
                           name=""DependentBirth"">
                </div>
                <div class=""form-group"">
                    <input type=""text"" class=""form-control sem-borda""
                           placeholder=""Número do Cartão do SUS"" id=""susDependente"" name=""DependentSus"">
                </div>
                <div class=""form-group"">
                    <input type=""text"" class=""form-control sem-borda"" placeholder=""Alergias""
                           id=""A");
                WriteLiteral(@"lergia"" name=""DependentAllergy"">
                </div>

                <div class=""form-group"">
                    <input type=""text"" class=""form-control sem-borda"" placeholder=""Tipo Sanguíneo""
                           id=""tipoSanguineo"" name=""DependentBlood"" maxlength=""3"">
                </div>

                <div class=""form-group"">
                    <input type=""hidden"" name=""ResponsavelID""");
                EndContext();
                BeginWriteAttribute("value", " value=\"", 1933, "\"", 1967, 1);
#line 46 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarDependente.cshtml"
                WriteAttributeValue("", 1941, Responsavel.ResponsavelID, 1941, 26, false);

#line default
#line hidden
                EndWriteAttribute();
                BeginContext(1968, 144, true);
                WriteLiteral(">\r\n                </div>\r\n\r\n                <button type=\"submit\" class=\"btn btn-primary right sem-borda blue\">Cadastrar</button>\r\n            ");
                EndContext();
            }
                                                                        );
            __Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper);
            __Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.RenderAtEndOfFormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper);
            __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
            __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
            __Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper.Method = (string)__tagHelperAttribute_2.Value;
            __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_2);
            await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);

            if (!__tagHelperExecutionContext.Output.IsContentModified)
            {
                await __tagHelperExecutionContext.SetOutputContentAsync();
            }
            Write(__tagHelperExecutionContext.Output);
            __tagHelperExecutionContext = __tagHelperScopeManager.End();
            EndContext();
            BeginContext(2119, 279, true);
            WriteLiteral(@"
            <br>
            <br>
            <br>

        </div>
    </div>
</div>

<script type=""text/javascript"">

    // máscara cartão SUS dependente
    $(document).ready(function () {
        $('#susDependente').mask('000000000000000');
    })

</script>");
            EndContext();
        }
        #pragma warning disable 1998
        public async override global::System.Threading.Tasks.Task ExecuteAsync()
        {
#line 1 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"

            Layout = "~/Views/Shared/_LayoutConsulta.cshtml";
            ResponsavelViewModel Responsavel = (ResponsavelViewModel)ViewData["Responsavel"];

#line default
#line hidden
            BeginContext(149, 324, true);
            WriteLiteral(@"


<section class=""row consulta-usuario"">
    <div class=""col"">
        <div class=""container w90"">
            <div class=""row justify-content-md-center"">
                <div class=""col-md"">
                    <h1 class=""blue-text my-4"">Carteiras de vacinação</h1>
                    <ul class=""nav nav-tabs"">
");
            EndContext();
#line 15 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
            foreach (var dependente in Responsavel.Dependentes)
            {
#line default
#line hidden
                BeginContext(578, 109, true);
                WriteLiteral("                            <li class=\"nav-item\">\r\n                                <a class=\"nav-link active\"");
                EndContext();
                BeginWriteAttribute("href", " href=\"", 687, "\"", 718, 2);
                WriteAttributeValue("", 694, "#", 694, 1, true);
#line 18 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                WriteAttributeValue("", 695, dependente.DependentID, 695, 23, false);

#line default
#line hidden
                EndWriteAttribute();
                BeginContext(719, 1, true);
                WriteLiteral(">");
                EndContext();
                BeginContext(721, 24, false);
#line 18 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                Write(dependente.DependentName);

#line default
#line hidden
                EndContext();
                BeginContext(745, 41, true);
                WriteLiteral("</a>\r\n                            </li>\r\n");
                EndContext();
#line 20 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
            }

#line default
#line hidden
            BeginContext(813, 73, true);
            WriteLiteral("\r\n                    </ul>\r\n                </div>\r\n            </div>\r\n");
            EndContext();
#line 25 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
            foreach (var dependente in Responsavel.Dependentes)
            {
#line default
#line hidden
                BeginContext(967, 20, true);
                WriteLiteral("                <div");
                EndContext();
                BeginWriteAttribute("id", " id=\"", 987, "\"", 1015, 1);
#line 27 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                WriteAttributeValue("", 992, dependente.DependentID, 992, 23, false);

#line default
#line hidden
                EndWriteAttribute();
                BeginContext(1016, 379, true);
                WriteLiteral(@" class=""row mb-4 vacinas"">
                    <div class=""col-md"">
                        <div class=""row"">
                            <div class=""col-md my-4""><h4>Vacinas Cadastradas</h4></div>
                        </div>

                        <div class=""row"">
                            <div class=""col-md"">
                                <ul class=""row"">
");
                EndContext();
#line 36 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                foreach (var vacina in dependente.Vacinas)
                {
#line default
#line hidden
                    BeginContext(1515, 309, true);
                    WriteLiteral(@"                                        <li class=""vacina px-3"" style=""list-style-type: none;"">
                                            <div class=""card"">
                                                <div class=""card-body"">
                                                    <h6 class=""card-title"">");
                    EndContext();
                    BeginContext(1825, 17, false);
#line 41 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                    Write(vacina.VacinaName);

#line default
#line hidden
                    EndContext();
                    BeginContext(1842, 108, true);
                    WriteLiteral("</h6>\r\n                                                    <ul class=\"list-group list-group-flush d-none\">\r\n");
                    EndContext();
#line 43 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                    foreach (var dose in vacina.Doses)
                    {
#line default
#line hidden
                        BeginContext(2102, 103, true);
                        WriteLiteral("                                                            <li class=\"list-group-item\"><small><strong>");
                        EndContext();
                        BeginContext(2206, 13, false);
#line 45 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                        Write(dose.DoseType);

#line default
#line hidden
                        EndContext();
                        BeginContext(2219, 11, true);
                        WriteLiteral(": </strong>");
                        EndContext();
                        BeginContext(2231, 31, false);
#line 45 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                        Write(vacina.VacinaData.ToString("d"));

#line default
#line hidden
                        EndContext();
                        BeginContext(2262, 15, true);
                        WriteLiteral("</small></li>\r\n");
                        EndContext();
#line 46 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                    }

#line default
#line hidden
                    BeginContext(2336, 214, true);
                    WriteLiteral("                                                    </ul>\r\n                                                </div>\r\n                                            </div>\r\n                                        </li>\r\n");
                    EndContext();
#line 51 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
                }

#line default
#line hidden
                BeginContext(2591, 159, true);
                WriteLiteral("                                </ul>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n");
                EndContext();
#line 58 "C:\Users\11710563\Desktop\UBS-mvc\Views\Usuario\Consulta.cshtml"
            }

#line default
#line hidden
            BeginContext(2765, 46, true);
            WriteLiteral("\r\n\r\n        </div>\r\n    </div>\r\n</section>\r\n\r\n");
            EndContext();
        }
예제 #18
0
        public IActionResult Busca([FromForm] string ResponsavelCpf)
        {
            MySqlConnection      conn        = new MySqlConnection(_appSettings.ConnectionString);
            ResponsavelViewModel Responsavel = new ResponsavelViewModel();


            try
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand("SELECT User.UserID, User.UserName, User.UserCpf, User.UserEmail, Dependent.DependentID, Dependent.DependentName, Dependent.DependentBirth, Dependent.DependentBlood, Dependent.DependentAllergy, Dependent.DependentSusNo FROM User left JOIN Dependent ON (User.UserID = Dependent.User_UserID) WHERE User.UserCpf LIKE '%" + ResponsavelCpf + "%'", conn))
                {
                    MySqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        Responsavel.ResponsavelID    = dataReader.GetInt32(0);
                        Responsavel.ResponsavelName  = dataReader.GetString(1);
                        Responsavel.ResponsavelCpf   = dataReader.GetString(2);
                        Responsavel.ResponsavelEmail = dataReader.GetString(3);

                        Responsavel.Dependentes = new List <DependenteViewModel>();

                        if (dataReader.IsDBNull(4))
                        {
                            return(RedirectToAction("CadastrarDependente", new { id = Responsavel.ResponsavelID }));
                        }
                        else
                        {
                            Responsavel.Dependentes.Add(new DependenteViewModel
                            {
                                ResponsavelID    = dataReader.GetInt32(0),
                                DependentID      = dataReader.GetInt32(4),
                                DependentName    = dataReader.GetString(5),
                                DependentBirth   = dataReader.GetDateTime(6),
                                DependentBlood   = dataReader.GetString(7),
                                DependentAllergy = dataReader.GetString(8),
                                DependentSus     = dataReader.GetString(9)
                            });
                        }
                    }
                }

                if (Responsavel.ResponsavelCpf == ResponsavelCpf)
                {
                    if (Responsavel.Dependentes != null)
                    {
                        return(RedirectToAction("CadastrarVacina", new { id = Responsavel.ResponsavelID }));
                    }
                }

                return(RedirectToAction("CadastrarResponsavel"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }
        #pragma warning disable 1998
        public async override global::System.Threading.Tasks.Task ExecuteAsync()
        {
            BeginContext(22, 2, true);
            WriteLiteral("\r\n");
            EndContext();
#line 3 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"

            ResponsavelViewModel   Responsavel = (ResponsavelViewModel)ViewData["ResponsavelID"];
            List <VacinaViewModel> Vacinas     = (List <VacinaViewModel>)ViewData["Vacinas"];
            List <DoseViewModel>   Doses       = (List <DoseViewModel>)ViewData["Doses"];

#line default
#line hidden
            BeginContext(274, 125, true);
            WriteLiteral("\r\n\r\n\r\n<div class=\"row\">\r\n    <div class=\"col-12\">\r\n        <div class=\"col-md-6 offset-md-3\">\r\n            <h2>Responsável - ");
            EndContext();
            BeginContext(400, 27, false);
#line 14 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
            Write(Responsavel.ResponsavelName);

#line default
#line hidden
            EndContext();
            BeginContext(427, 162, true);
            WriteLiteral("</h2>\r\n        </div>\r\n        <br />\r\n    </div>\r\n</div>\r\n\r\n<div class=\"row\">\r\n    <div class=\"col-12\">\r\n        <div class=\"col-md-6 offset-md-3\">\r\n            ");
            EndContext();
            BeginContext(589, 1900, false);
            __tagHelperExecutionContext = __tagHelperScopeManager.Begin("form", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d40666f4fac09ec900ed47905288b4a1bcfd12d25573", async() => {
                BeginContext(642, 138, true);
                WriteLiteral("\r\n                <h3>Dependente Vacinado</h3>\r\n                <select class=\"form-control sem-borda\" name=\"DependenteID\" id=\"listbox\">\r\n");
                EndContext();
#line 26 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                foreach (var item in Responsavel.Dependentes)
                {
#line default
#line hidden
                    BeginContext(871, 24, true);
                    WriteLiteral("                        ");
                    EndContext();
                    BeginContext(895, 118, false);
                    __tagHelperExecutionContext = __tagHelperScopeManager.Begin("option", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d40666f4fac09ec900ed47905288b4a1bcfd12d26440", async() => {
                        BeginContext(929, 30, true);
                        WriteLiteral("\r\n                            ");
                        EndContext();
                        BeginContext(960, 18, false);
#line 29 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                        Write(item.DependentName);

#line default
#line hidden
                        EndContext();
                        BeginContext(978, 26, true);
                        WriteLiteral("\r\n                        ");
                        EndContext();
                    }
                                                                                );
                    __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper>();
                    __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper);
                    BeginWriteTagHelperAttribute();
#line 28 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                    WriteLiteral(item.DependentID);

#line default
#line hidden
                    __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
                    __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper.Value = __tagHelperStringValueBuffer;
                    __tagHelperExecutionContext.AddTagHelperAttribute("value", __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper.Value, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
                    await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
                    if (!__tagHelperExecutionContext.Output.IsContentModified)
                    {
                        await __tagHelperExecutionContext.SetOutputContentAsync();
                    }
                    Write(__tagHelperExecutionContext.Output);
                    __tagHelperExecutionContext = __tagHelperScopeManager.End();
                    EndContext();
                    BeginContext(1013, 2, true);
                    WriteLiteral("\r\n");
                    EndContext();
#line 31 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                }

#line default
#line hidden
                BeginContext(1038, 374, true);
                WriteLiteral(@"                </select>
                <br />
                <div>
                    <h3 class=""espaco"">Cadastro Vacinas</h3>
                </div>
                <div class=""form-group"">
                    <label for=""vacina"">Vacina : </label>
                    <select class=""form-control sem-borda"" id=""vacina"" name=""VacinaID"">
                        ");
                EndContext();
                BeginContext(1412, 44, false);
                __tagHelperExecutionContext = __tagHelperScopeManager.Begin("option", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d40666f4fac09ec900ed47905288b4a1bcfd12d29382", async() => {
                    BeginContext(1429, 18, true);
                    WriteLiteral("Escolha uma vacina");
                    EndContext();
                }
                                                                            );
                __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper>();
                __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper);
                BeginWriteTagHelperAttribute();
                __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
                __tagHelperExecutionContext.AddHtmlAttribute("selected", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
                await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
                if (!__tagHelperExecutionContext.Output.IsContentModified)
                {
                    await __tagHelperExecutionContext.SetOutputContentAsync();
                }
                Write(__tagHelperExecutionContext.Output);
                __tagHelperExecutionContext = __tagHelperScopeManager.End();
                EndContext();
                BeginContext(1456, 2, true);
                WriteLiteral("\r\n");
                EndContext();
#line 41 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                foreach (var vacina in Vacinas)
                {
#line default
#line hidden
                    BeginContext(1543, 28, true);
                    WriteLiteral("                            ");
                    EndContext();
                    BeginContext(1571, 124, false);
                    __tagHelperExecutionContext = __tagHelperScopeManager.Begin("option", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d40666f4fac09ec900ed47905288b4a1bcfd12d211310", async() => {
                        BeginContext(1604, 34, true);
                        WriteLiteral("\r\n                                ");
                        EndContext();
                        BeginContext(1639, 17, false);
#line 44 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                        Write(vacina.VacinaName);

#line default
#line hidden
                        EndContext();
                        BeginContext(1656, 30, true);
                        WriteLiteral("\r\n                            ");
                        EndContext();
                    }
                                                                                );
                    __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper>();
                    __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper);
                    BeginWriteTagHelperAttribute();
#line 43 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                    WriteLiteral(vacina.VacinaId);

#line default
#line hidden
                    __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
                    __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper.Value = __tagHelperStringValueBuffer;
                    __tagHelperExecutionContext.AddTagHelperAttribute("value", __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper.Value, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
                    await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
                    if (!__tagHelperExecutionContext.Output.IsContentModified)
                    {
                        await __tagHelperExecutionContext.SetOutputContentAsync();
                    }
                    Write(__tagHelperExecutionContext.Output);
                    __tagHelperExecutionContext = __tagHelperScopeManager.End();
                    EndContext();
                    BeginContext(1695, 2, true);
                    WriteLiteral("\r\n");
                    EndContext();
#line 46 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                }

#line default
#line hidden
                BeginContext(1724, 261, true);
                WriteLiteral(@"                    </select>
                </div>
                <div class=""form-group"">
                    <label for=""Dose"">Dose : </label>
                    <select class=""form-control sem-borda"" id=""dose"" name=""DoseID"">
                        ");
                EndContext();
                BeginContext(1985, 44, false);
                __tagHelperExecutionContext = __tagHelperScopeManager.Begin("option", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d40666f4fac09ec900ed47905288b4a1bcfd12d214159", async() => {
                    BeginContext(2002, 18, true);
                    WriteLiteral("Escolha uma vacina");
                    EndContext();
                }
                                                                            );
                __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper>();
                __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper);
                BeginWriteTagHelperAttribute();
                __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
                __tagHelperExecutionContext.AddHtmlAttribute("selected", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
                await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
                if (!__tagHelperExecutionContext.Output.IsContentModified)
                {
                    await __tagHelperExecutionContext.SetOutputContentAsync();
                }
                Write(__tagHelperExecutionContext.Output);
                __tagHelperExecutionContext = __tagHelperScopeManager.End();
                EndContext();
                BeginContext(2029, 2, true);
                WriteLiteral("\r\n");
                EndContext();
#line 53 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                foreach (var dose in Doses)
                {
#line default
#line hidden
                    BeginContext(2112, 28, true);
                    WriteLiteral("                            ");
                    EndContext();
                    BeginContext(2140, 116, false);
                    __tagHelperExecutionContext = __tagHelperScopeManager.Begin("option", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d40666f4fac09ec900ed47905288b4a1bcfd12d216084", async() => {
                        BeginContext(2169, 34, true);
                        WriteLiteral("\r\n                                ");
                        EndContext();
                        BeginContext(2204, 13, false);
#line 56 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                        Write(dose.DoseType);

#line default
#line hidden
                        EndContext();
                        BeginContext(2217, 30, true);
                        WriteLiteral("\r\n                            ");
                        EndContext();
                    }
                                                                                );
                    __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.OptionTagHelper>();
                    __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper);
                    BeginWriteTagHelperAttribute();
#line 55 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                    WriteLiteral(dose.DoseID);

#line default
#line hidden
                    __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
                    __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper.Value = __tagHelperStringValueBuffer;
                    __tagHelperExecutionContext.AddTagHelperAttribute("value", __Microsoft_AspNetCore_Mvc_TagHelpers_OptionTagHelper.Value, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
                    await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
                    if (!__tagHelperExecutionContext.Output.IsContentModified)
                    {
                        await __tagHelperExecutionContext.SetOutputContentAsync();
                    }
                    Write(__tagHelperExecutionContext.Output);
                    __tagHelperExecutionContext = __tagHelperScopeManager.End();
                    EndContext();
                    BeginContext(2256, 2, true);
                    WriteLiteral("\r\n");
                    EndContext();
#line 58 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
                }

#line default
#line hidden
                BeginContext(2285, 197, true);
                WriteLiteral("                    </select>                  \r\n                </div>\r\n\r\n                <button type=\"submit\" class=\"btn btn-primary right sem-borda blue\">Cadastrar Vacina</button>\r\n            ");
                EndContext();
            }
                                                                        );
            __Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper);
            __Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.RenderAtEndOfFormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper);
            __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
            __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
            __Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper.Method = (string)__tagHelperAttribute_2.Value;
            __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_2);
            await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);

            if (!__tagHelperExecutionContext.Output.IsContentModified)
            {
                await __tagHelperExecutionContext.SetOutputContentAsync();
            }
            Write(__tagHelperExecutionContext.Output);
            __tagHelperExecutionContext = __tagHelperScopeManager.End();
            EndContext();
            BeginContext(2489, 14, true);
            WriteLiteral("\r\n            ");
            EndContext();
            BeginContext(2503, 221, false);
            __tagHelperExecutionContext = __tagHelperScopeManager.Begin("form", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "d40666f4fac09ec900ed47905288b4a1bcfd12d220307", async() => {
                BeginContext(2587, 130, true);
                WriteLiteral("\r\n                <button type=\"submit\" class=\"btn btn-primary sem-borda blue\">Cadastrar mais um dependente</button>\r\n            ");
                EndContext();
            }
                                                                        );
            __Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper);
            __Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper = CreateTagHelper <global::Microsoft.AspNetCore.Mvc.TagHelpers.RenderAtEndOfFormTagHelper>();
            __tagHelperExecutionContext.Add(__Microsoft_AspNetCore_Mvc_TagHelpers_RenderAtEndOfFormTagHelper);
            BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "action", 2, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
            AddHtmlAttributeValue("", 2517, "/Ubs/CadastrarDependente?id=", 2517, 28, true);
#line 64 "C:\Users\11710563\Desktop\UBS-mvc\Views\Ubs\CadastrarVacina.cshtml"
            AddHtmlAttributeValue("", 2545, Responsavel.ResponsavelID, 2545, 26, false);

#line default
#line hidden
            EndAddHtmlAttributeValues(__tagHelperExecutionContext);
            __Microsoft_AspNetCore_Mvc_TagHelpers_FormTagHelper.Method = (string)__tagHelperAttribute_2.Value;
            __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_2);
            await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);

            if (!__tagHelperExecutionContext.Output.IsContentModified)
            {
                await __tagHelperExecutionContext.SetOutputContentAsync();
            }
            Write(__tagHelperExecutionContext.Output);
            __tagHelperExecutionContext = __tagHelperScopeManager.End();
            EndContext();
            BeginContext(2724, 38, true);
            WriteLiteral("\r\n        </div>\r\n\r\n    </div>\r\n</div>");
            EndContext();
        }
        public IActionResult Consulta(int id)
        {
            MySqlConnection      conn        = new MySqlConnection(_appSettings.ConnectionString);
            ResponsavelViewModel Responsavel = null;

            try
            {
                conn.Open();

                using (MySqlCommand cmd = new MySqlCommand("SELECT Dependent.dependentid, Dependent.dependentname, Vaccine.VaccineID, Vaccine.VaccineName, Vaccine_Dose.VaccineDate, Dose.DoseId, Dose.DoseType FROM User INNER JOIN dependent ON (User.UserID = dependent.User_UserID) INNER JOIN vaccine_dep on (dependent.DependentID = vaccine_dep.DependentID) INNER JOIN vaccine ON (vaccine_dep.VaccineID = vaccine.VaccineID) INNER JOIN vaccine_dose ON (vaccine.vaccineid = vaccine_dose.vaccineid) INNER JOIN dose on (Vaccine_dose.doseID = dose.doseID) WHERE User.Userid =" + id + " GROUP BY vaccineid, dependentid, doseid", conn))
                {
                    MySqlDataReader dataReader = cmd.ExecuteReader();
                    while (dataReader.Read())
                    {
                        if (Responsavel == null)
                        {
                            Responsavel = new ResponsavelViewModel
                            {
                                Dependentes = new List <DependenteViewModel>()
                            };
                        }

                        var last = Responsavel.Dependentes.LastOrDefault();

                        if (last == null)
                        {
                            Responsavel.Dependentes.Add(new DependenteViewModel
                            {
                                DependentID   = dataReader.GetInt32(0),
                                DependentName = dataReader.GetString(1),
                                Vacinas       = new List <VacinaViewModel>(),
                            });
                            last = Responsavel.Dependentes.LastOrDefault();
                        }

                        if (last.DependentID != dataReader.GetInt32(0))
                        {
                            Responsavel.Dependentes.Add(new DependenteViewModel
                            {
                                DependentID   = dataReader.GetInt32(0),
                                DependentName = dataReader.GetString(1),
                                Vacinas       = new List <VacinaViewModel>()
                            });
                        }

                        foreach (var dependent in Responsavel.Dependentes)
                        {
                            var lastv = dependent.Vacinas.LastOrDefault();
                            if (lastv == null)
                            {
                                dependent.Vacinas.Add(new VacinaViewModel
                                {
                                    VacinaId   = dataReader.GetInt32(2),
                                    VacinaName = dataReader.GetString(3),
                                    VacinaData = dataReader.GetDateTime(4),
                                    Doses      = new List <DoseViewModel>()
                                });
                                lastv = dependent.Vacinas.LastOrDefault();
                            }

                            if (lastv.VacinaId != dataReader.GetInt32(2) && dependent.DependentID == dataReader.GetInt32(0))
                            {
                                dependent.Vacinas.Add(new VacinaViewModel
                                {
                                    VacinaId   = dataReader.GetInt32(2),
                                    VacinaName = dataReader.GetString(3),
                                    VacinaData = dataReader.GetDateTime(4),
                                    Doses      = new List <DoseViewModel>()
                                });
                                lastv = dependent.Vacinas.LastOrDefault();
                            }

                            if (lastv.VacinaId == dataReader.GetInt32(2) && dependent.DependentID == dataReader.GetInt32(0))
                            {
                                foreach (var vacina in dependent.Vacinas)
                                {
                                    var lastd = vacina.Doses.LastOrDefault();
                                    if (lastd == null)
                                    {
                                        vacina.Doses.Add(new DoseViewModel
                                        {
                                            DoseID   = dataReader.GetInt32(5),
                                            DoseType = dataReader.GetString(6)
                                        });
                                        lastd = vacina.Doses.LastOrDefault();
                                    }
                                    if (lastd.DoseID != dataReader.GetInt32(5) && vacina.VacinaId == dataReader.GetInt32(2))
                                    {
                                        vacina.Doses.Add(new DoseViewModel
                                        {
                                            DoseID   = dataReader.GetInt32(5),
                                            DoseType = dataReader.GetString(6)
                                        });
                                    }
                                }
                            }
                        }
                    }
                }

                ViewBag.EstaNaHome      = true;
                ViewData["Responsavel"] = Responsavel;
                return(View());
            }
            catch (Exception ex)
            {
                return(View(ex));
            }
            finally
            {
                conn.Dispose();
                conn.Close();
            }
        }