示例#1
0
        public async Task <ActionResult> CrearConsultaAsync(NodeInfo nodeInfo)
        {
            using (var client = new HttpClient())
            {
                var ck = ControllerContext.HttpContext.Request.Cookies["Token"];
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ck);
                client.BaseAddress = new Uri("https://localhost:44349");
                var response = await client.GetAsync($"api/HospitalConsultas/GetTransactions/{nodeInfo.GenNode}");

                if (response.IsSuccessStatusCode)
                {
                    var mongo           = JsonConvert.DeserializeObject <List <TransactionBlock> >(await response.Content.ReadAsStringAsync()).ToList();
                    var consulaViewInfo = new ConsultaViewInfo
                    {
                        GenNode          = nodeInfo.GenNode,
                        PacientId        = nodeInfo.PacientId,
                        TransactionBlock = mongo
                    };
                    ViewData["transactions"] = consulaViewInfo;

                    var    handler    = new JwtSecurityTokenHandler();
                    var    jsonToken  = handler.ReadJwtToken(ck);
                    var    tokens     = jsonToken as JwtSecurityToken;
                    string hospitalId = tokens.Claims.First(claim => claim.Type == "HospitalId").Value;

                    var responseMedicamentos = await client.GetAsync($"api/HospitalMedicamentos/{hospitalId}");

                    if (responseMedicamentos.IsSuccessStatusCode)
                    {
                        List <SelectListItem> lst = new List <SelectListItem>();
                        foreach (var medicamentosDTO in JsonConvert.DeserializeObject <List <HospitalMedicamentosDTO> >(await responseMedicamentos.Content.ReadAsStringAsync()).ToList())
                        {
                            lst.Add(new SelectListItem()
                            {
                                Text = $"{medicamentosDTO.nombreMedicamento}", Value = $"{medicamentosDTO.nombreMedicamento}"
                            });
                        }

                        var consultaInfo = new CreateConsultaDTO
                        {
                            PacienteId = nodeInfo.PacientId,
                            GenNodeId  = nodeInfo.GenNode,
                            HospitalId = hospitalId,
                            DoctorId   = tokens.Claims.First(claim => claim.Type == "UserId").Value
                        };
                        ViewBag.Medicamentos = lst;
                        return(View(consultaInfo));
                    }
                    return(NotFound());
                }
                return(NotFound());
            }
        }
示例#2
0
        public async Task <ActionResult> CrearConsulta(CreateConsultaDTO createConsultaDTO)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("https://localhost:44349");
                var ck = ControllerContext.HttpContext.Request.Cookies["Token"];
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ck);
                var postTask = await client.PostAsJsonAsync <CreateConsultaDTO>("api/HospitalConsultas", createConsultaDTO);

                if (postTask.IsSuccessStatusCode)
                {
                    return(RedirectToAction("CrearConsulta", "HospitalConsulta", new NodeInfo {
                        GenNode = createConsultaDTO.GenNodeId, PacientId = createConsultaDTO.PacienteId
                    }));
                }
                else
                {
                    return(RedirectToAction("Index", "Panel"));
                }
            }
        }
        public async Task <ActionResult <CreateConsultaDTO> > InsertConsulta(CreateConsultaDTO createConsultaDTO)
        {
            DateTime timeStamp        = DateTime.Now;
            var      hospitalConsulta = new HospitalConsulta
            {
                HospitalId = createConsultaDTO.HospitalId,
                PacienteId = createConsultaDTO.PacienteId,
                DoctorId   = createConsultaDTO.DoctorId,
                DateStamp  = timeStamp
            };
            await context.HospitalConsulta.AddAsync(hospitalConsulta);

            await context.SaveChangesAsync();

            var transactionBlock = new TransactionBlock
            {
                TimeStamp      = timeStamp,
                Type           = "Registro consulta",
                ConsultaMedica = createConsultaDTO.ConsultaMedica
            };
            await repository.InsertTransaction(transactionBlock, createConsultaDTO.GenNodeId);

            return(Ok());
        }