예제 #1
0
        public IActionResult CheckedIn(int id)
        {
            //var user = _userManager.GetUserAsync(User).Result;
            var response = GetCheckIn(id);

            if (response.IsSuccessStatusCode)
            {
                var patientCheckedIn = JsonConvert.DeserializeObject <PatientCheckIn>(response.Content.ReadAsStringAsync().Result);
                var p = patientCheckedIn.Patient;
                var patientViewModel = new PatientCheckInViewModel
                {
                    PatientId       = id,
                    PPS             = p.PPS,
                    Full_name       = p.Full_name,
                    Gender          = p.Gender,
                    Date_of_birth   = p.Date_of_birth,
                    Nationality     = p.Nationality,
                    Address         = p.Address,
                    Infections      = patientCheckedIn.Infections,
                    Arrival         = patientCheckedIn.Arrival,
                    Time_checked_in = patientCheckedIn.Time_checked_in,
                    HospitalID      = patientCheckedIn.HospitalID
                };

                return(View(patientViewModel));
            }
            return(NotFound());
        }
예제 #2
0
        public IActionResult Register()
        {
            //var user = _userManager.GetUserAsync(User).Result;
            var h          = User.Claims.Where(u => u.Type == "HospitalID").FirstOrDefault().Value;
            int hospitalID = 0;

            Int32.TryParse(h, out hospitalID);
            var patientData = new PatientCheckInViewModel {
                HospitalID = hospitalID
            };

            List <SelectListItem> list = GetPPSList();

            ViewBag.PPS = list; //selectList;
            return(View(patientData));
        }
예제 #3
0
        public async Task <IActionResult> Register(PatientCheckInViewModel patientData)
        {
            if (ModelState.IsValid)
            {
                Patient patient = null;



                try
                {
                    patientData.Time_checked_in = GetNow();
                    if (patientData.PPS != "" && patientData.PPS != null)
                    {
                        var response = GetByPps(patientData.PPS);
                        if (response.IsSuccessStatusCode)
                        {
                            patient = JsonConvert.DeserializeObject <Patient>(response.Content.ReadAsStringAsync().Result);
                        }
                    }
                    else
                    {
                        var response = GetAll();
                        if (response.IsSuccessStatusCode)
                        {
                            var patients = JsonConvert.DeserializeObject <IEnumerable <Patient> >(response.Content.ReadAsStringAsync().Result);

                            patients = patients.Where(p => p.Full_name == patientData.Full_name);
                            patients = patients.Where(p => p.Gender == patientData.Gender);
                            if (patientData.Date_of_birth != null)
                            {
                                patients = patients.Where(p => p.Date_of_birth == patientData.Date_of_birth);
                            }
                            if (patients.Count() > 0)
                            {
                                patient = patients.First();
                            }
                        }
                    }
                    if (patient == null)
                    {
                        patient = new Patient {
                            PPS = patientData.PPS, Full_name = patientData.Full_name, Gender = patientData.Gender, Date_of_birth = patientData.Date_of_birth, Nationality = patientData.Nationality, Address = patientData.Address
                        };
                        var response = Add(patient);
                        if (response.IsSuccessStatusCode)
                        {
                            var ee = response.Content;
                            var bb = response.Content.ReadAsStringAsync().Result;
                            patient = JsonConvert.DeserializeObject <Patient>(response.Content.ReadAsStringAsync().Result);

                            var ii = 0;
                        }
                    }
                    var patientCheckIn = new PatientCheckIn {
                        PatientId = patient.Id, HospitalID = patientData.HospitalID, Arrival = patientData.Arrival, Infections = patientData.Infections, Time_checked_in = patientData.Time_checked_in
                    };
                    var r = AddCheckIn(patientCheckIn);
                    if (r.IsSuccessStatusCode)
                    {
                        await HubContext.Clients.All.SendAsync("ReceiveNotification", patientData.HospitalID);
                    }
                    else
                    {
                        ViewData["Error"] = r.Content.ReadAsStringAsync().Result;
                        return(View(patientData));
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    throw;
                }
                return(RedirectToAction(nameof(HomeController.Index), "Home"));
            }
            List <SelectListItem> list = GetPPSList();

            ViewBag.PPS = list; //selectList;
            return(View(patientData));
        }