// GET: ManagePatients/Delete/5
        public ActionResult Delete(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            User user = db.Users.Find(id);

            if (user == null)
            {
                return(HttpNotFound());
            }

            if (user.Role.Name == "Caregiver")
            {
                user.Caregiver.Patient = null;
                db.Caregivers.Remove(user.Caregiver);
            }
            else if (user.Role.Name == "Doctor")
            {
                var doctor = db.Doctors.Include(d => d.Messages).SingleOrDefault(d => d.Id == user.Doctor.Id);

                foreach (var message in doctor.Messages.ToList())
                {
                    db.Messages.Remove(message);
                }

                db.Doctors.Remove(user.Doctor);
            }
            else if (user.Role.Name == "Patient")
            {
                try
                {
                    if (user.Patient.Caregiver != null)
                    {
                        Caregiver caregiver = db.Caregivers.ToList().Where(u => u.Patient.Id == user.Patient.Id).First();
                        caregiver.Patient = null;
                    }
                }
                catch (Exception e)
                {
                }

                var patient = db.Patients.Include(p => p.Messages).SingleOrDefault(p => p.Id == user.Patient.Id);

                foreach (var message in patient.Messages.ToList())
                {
                    db.Messages.Remove(message);
                }

                db.Patients.Remove(user.Patient);
            }

            db.Users.Remove(user);

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
        // GET: ManagePatients/Delete/5
        public ActionResult Delete(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            User user = db.Users.Find(id);

            if (user == null)
            {
                return(HttpNotFound());
            }
            try
            {
                if (user.Patient.Caregiver != null)
                {
                    Caregiver caregiver = db.Caregivers.ToList().Where(u => u.Patient.Id == user.Patient.Id).First();
                    caregiver.Patient = null;
                }
            }
            catch (Exception ex)
            { }

            db.Patients.Remove(user.Patient);

            db.Users.Remove(user);

            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
示例#3
0
        //This method will delete a caregiver
        public string Delete(int id)
        {
            Caregiver caregiver = _context.Caregivers.Find(id);

            _context.Caregivers.Remove(caregiver);
            _context.SaveChanges();
            return("Caregiver deleted!");
        }
示例#4
0
        public void RegisterCaregiver(string ID)
        {
            Trace.TraceInformation(String.Format("Attempting to register cargiver: {0}", ID));
            try
            {
                Trace.AutoFlush = true;
                string deadConnectionId;
                string ConnID = Context.ConnectionId;
                ConnectionDictionary.mapUidToConnection.TryRemove(ID, out deadConnectionId);
                ConnectionDictionary.mapUidToConnection[ID] = ConnID;
                Trace.TraceInformation(String.Format("Added caregiver: {0} connectionId {1}", ID,
                                                     ConnectionDictionary.mapUidToConnection[ID]));


                Caregiver currCaregiver = CaregiverController.GetCaregiverObject(ID);
                Patient   currPatient   = PatientController.GetPatientObjectbyGroupID(currCaregiver.GroupID);
                //send patient ID to caregiver

                SampleController sampleController = new SampleController();

                if (SampleController.GetSampleCountforPatientID(currPatient.Id) == 0)
                {
                    Trace.TraceInformation("No samples found for patient");
                    Message message = new Message()
                    {
                        ID     = currPatient.Id,
                        status = AlgoUtils.Status.Learning,
                        name   = "",
                        lat    = 32.0808800F,
                        lon    = 34.7805700F
                    };
                    Clients.Client(ConnectionDictionary.mapUidToConnection[ID]).receiveNotification(message);
                    WanderingAlgo algo = new WanderingAlgo();
                    Trace.TraceInformation("Starting Detection Algo for Patient {0} due to caregiver registration",
                                           currPatient.Id);
                    algo.wanderingDetectionAlgo(currPatient.Id);
                }
                else
                {
                    Sample latestSample = sampleController.GetLatestSampleForPatient(currPatient.Id);

                    Trace.TraceInformation("Sending message back to caregiver with patient ID");
                    Message message = new Message()
                    {
                        ID = currPatient.Id, status = AlgoUtils.Status.Safety, name = "", lat = latestSample.Latitude, lon = latestSample.Longitude
                    };
                    Clients.Client(ConnectionDictionary.mapUidToConnection[ID]).receiveNotification(message);
                    WanderingAlgo algo = new WanderingAlgo();
                    Trace.TraceInformation("Starting Detection Algo for Patient {0} due to caregiver registration", currPatient.Id);
                    algo.wanderingDetectionAlgo(currPatient.Id);
                }
            }
            catch (Exception e)
            {
                Trace.TraceError("Registration of " + ID + " failed or Exception in wandering Algo: " + e.Message);
            }
        }
        private void btnLogin_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                symLoading.IsActive   = true;
                symLoading.Visibility = Windows.UI.Xaml.Visibility.Visible;

                if ((txtEmail.Text != "Email") && (txtGroupname.Text != "Groupname") && (txtCode.Password != "Code"))
                {
                    var resultCaregivers = caregivers.Where(c => c.Email == txtEmail.Text);
                    if (resultCaregivers.Count() == 1)
                    {
                        Caregiver caregiver = resultCaregivers.ToList()[0];

                        var resultGroups = groups.Where(g => g.Id == caregiver.GroupID);
                        if (resultGroups.Count() > 0)
                        {
                            Group group = resultGroups.ToList()[0];

                            if ((group.Name == txtGroupname.Text) && (group.Code == txtCode.Password))
                            {
                                StoredData.storeCaregiverData(caregiver.Id); //store in local app data
                                StoredData.loadUserData();
                                this.Frame.Navigate(typeof(CaregiverMainPage), null);
                            }
                            else
                            {
                                DialogBox.ShowOk("Error", "Wrong Email, Groupname or Code. Please try again.");
                            }
                        }
                        else
                        {
                            DialogBox.ShowOk("Error", "Wrong Email, Groupname or Code. Please try again.");
                        }
                    }
                    else
                    {
                        DialogBox.ShowOk("Error", "Wrong Email, Groupname or Code. Please try again.");
                    }
                }
                else
                {
                    DialogBox.ShowOk("Error", "Please fill all the fields to login.");
                }

                symLoading.IsActive   = false;
                symLoading.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
            }
            catch (Exception ConnFail)
            {
                symLoading.IsActive   = false;
                symLoading.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                DialogBox.ShowOk("Error", "Communication error with Azure server, please try again.");
            }
        }
示例#6
0
        public void PUT([FromBody] Caregiver caregiver, [FromRoute] int id)
        {
            var caregiver1 = _context.Caregivers.Find(id);

            caregiver1.Name                  = caregiver.Name;
            caregiver1.BirthDate             = caregiver.BirthDate;
            caregiver1.Gender                = caregiver.Gender;
            caregiver1.Address               = caregiver.Address;
            _context.Entry(caregiver1).State = EntityState.Modified;
            _context.SaveChanges();
        }
        public ActionResult DeleteUser(long id)
        {
            HospitalManagementContext db = new HospitalManagementContext();

            User user = db.Users.Where(u => u.Id == id).FirstOrDefault();

            if (user != null)
            {
                if (user.Role.Name == "Caregiver")
                {
                    user.Caregiver.Patient = null;
                    db.Caregivers.Remove(user.Caregiver);
                }
                else if (user.Role.Name == "Doctor")
                {
                    var doctor = db.Doctors.Include(d => d.Messages).SingleOrDefault(d => d.Id == user.Doctor.Id);

                    foreach (var message in doctor.Messages.ToList())
                    {
                        db.Messages.Remove(message);
                    }

                    db.Doctors.Remove(user.Doctor);
                }
                else if (user.Role.Name == "Patient")
                {
                    try
                    {
                        if (user.Patient.Caregiver != null)
                        {
                            Caregiver caregiver = db.Caregivers.ToList().Where(u => u.Patient.Id == user.Patient.Id).First();
                            caregiver.Patient = null;
                        }
                    }
                    catch (Exception e)
                    {
                    }

                    var patient = db.Patients.Include(p => p.Messages).SingleOrDefault(p => p.Id == user.Patient.Id);

                    foreach (var message in patient.Messages.ToList())
                    {
                        db.Messages.Remove(message);
                    }

                    db.Patients.Remove(user.Patient);
                }

                db.Users.Remove(user);
                db.SaveChanges();
            }

            return(RedirectToAction("Security", "Home"));
        }
        private async void btnForward_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                symLoading.IsActive   = true;
                symLoading.Visibility = Windows.UI.Xaml.Visibility.Visible;

                if ((txtEmail.Text != "Email") && (txtPhone.Text != "Phone") &&
                    (txtGroupname.Text != "Groupname") && (txtCode.Password != "Code"))
                {
                    var resultGroups = groups.Where(g => g.Name == txtGroupname.Text);
                    if (resultGroups.Count() == 1)
                    {
                        Group group = resultGroups.ToList()[0];
                        if (group.Code == txtCode.Password)
                        {
                            Caregiver newCaregiver = new Caregiver()
                            {
                                Id = Guid.NewGuid().ToString(), GroupID = group.Id, Phone = txtPhone.Text, Email = txtEmail.Text, IsApproved = false
                            };

                            await caregiverTable.InsertAsync(newCaregiver);

                            StoredData.storeCaregiverData(newCaregiver.Id); //store in local app data
                            StoredData.loadUserData();
                            this.Frame.Navigate(typeof(CaregiverMainPage), null);
                        }
                        else
                        {
                            DialogBox.ShowOk("Error", "Group's name does not exist or wrong code.");
                        }
                    }
                    else
                    {
                        DialogBox.ShowOk("Error", "Group's name does not exist or wrong code.");
                    }
                }
                else
                {
                    DialogBox.ShowOk("Error", "Please fill all the fields.");
                }

                symLoading.IsActive   = false;
                symLoading.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
            }
            catch (Exception ConnFail)
            {
                symLoading.IsActive   = false;
                symLoading.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
                DialogBox.ShowOk("Error", "Communication error with Azure server, please try again.");
            }
        }
        public ActionResult Create(User user)
        {
            if (ModelState.IsValid)
            {
                // add careGiver
                Caregiver caregiver = new Caregiver();

                // add role as caregiver
                user.Role              = db.Roles.ToList().Where(u => u.Name == "Caregiver").FirstOrDefault();
                user.Salt              = HomeController.GenerateRandomString(10);
                user.Password          = Crypto.SHA256(user.Password + user.Salt);
                user.Caregiver         = caregiver;
                user.IsLogin           = false;
                user.IsEnabled         = true;
                user.LoginAttemptCount = 0;

                db.Users.Add(user);

                db.SaveChanges();

                User newUser = db.Users.ToList().Last();

                User Admin = (User)HttpContext.Session["LoggedInUser"];

                // Update totals count
                if (Admin != null && Admin.Role.Name == "Admin")
                {
                    HttpContext.Session["TotalPatientList"]          = db.Users.Include(u => u.Patient).Where(u => u.Patient != null).Where(u => u.Patient.Status == "Admitted").ToList();
                    HttpContext.Session["TotalPatients"]             = db.Users.Count(u => u.Patient != null && u.Patient.Status == "Admitted");
                    HttpContext.Session["TotalCaregiverList"]        = db.Users.Include(u => u.Caregiver).Where(u => u.Caregiver != null).ToList();
                    HttpContext.Session["TotalCareGivers"]           = db.Users.Count(u => u.Caregiver != null);
                    HttpContext.Session["TotalDoctorList"]           = db.Users.Include(u => u.Doctor).Where(u => u.Doctor != null).ToList();
                    HttpContext.Session["TotalDoctors"]              = db.Users.Count(u => u.Doctor != null);
                    HttpContext.Session["RecetlyRegisteredUserList"] = db.Users.OrderByDescending(u => u.Id).Take(10).ToList();
                    HttpContext.Session["TotalLoginUsers"]           = db.Users.Count(u => u.IsLogin != null && u.IsLogin == true);
                    HttpContext.Session["TotalLogoutUsers"]          = db.Users.Count(u => u.IsLogin == null || u.IsLogin == false);
                    HttpContext.Session["TotalInactive"]             = db.Users.Count(u => (u.IsLogin == null || u.IsLogin == false) && u.LastLogin != null && DbFunctions.DiffDays(u.LastLogin.Value, DateTime.Now) > 1);
                }

                return(RedirectToAction("Index"));
            }

            ViewBag.PatientId = new SelectList(db.Patients.Include(a => a.User).Select(a => new { a.User.FullName, a.Id }), "Id", "FullName");
            return(View(user));
        }
示例#10
0
        // GET: CareGiver/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            User user = db.Users.Find(id);

            if (user == null)
            {
                return(HttpNotFound());
            }
            Caregiver careGiver = user.Caregiver;

            if (careGiver == null)
            {
                return(HttpNotFound());
            }
            // Fetch all the patients
            ViewBag.PatientId = new SelectList(db.Patients.Include(a => a.User).Select(a => new { a.User.FullName, a.Id }), "Id", "FullName");
            return(View(db.Users.FirstOrDefault(a => a.Id == id)));
        }
        public ActionResult Create(User user)
        {
            if (ModelState.IsValid)
            {
                // add careGiver
                Caregiver caregiver = new Caregiver();

                // add role as caregiver
                user.Role      = db.Roles.ToList().Where(u => u.Name == "Caregiver").FirstOrDefault();
                user.Caregiver = caregiver;

                db.Users.Add(user);

                db.SaveChanges();

                User newUser = db.Users.ToList().Last();

                User Admin = (User)HttpContext.Session["LoggedInUser"];

                // Update totals count
                if (Admin != null && Admin.Role.Name == "Admin")
                {
                    HttpContext.Session["TotalPatientList"]   = db.Users.Include(u => u.Patient).Where(u => u.Patient != null).Where(u => u.Patient.Status == "Admitted").ToList();
                    HttpContext.Session["TotalPatients"]      = db.Users.Count(u => u.Patient != null && u.Patient.Status == "Admitted");
                    HttpContext.Session["TotalCaregiverList"] = db.Users.Include(u => u.Caregiver).Where(u => u.Caregiver != null).ToList();
                    HttpContext.Session["TotalCareGivers"]    = db.Users.Count(u => u.Caregiver != null);
                    HttpContext.Session["TotalDoctorList"]    = db.Users.Include(u => u.Doctor).Where(u => u.Doctor != null).ToList();
                    HttpContext.Session["TotalDoctors"]       = db.Users.Count(u => u.Doctor != null);
                }

                return(RedirectToAction("Index"));
            }

            ViewBag.PatientId = new SelectList(db.Patients.Include(a => a.User).Select(a => new { a.User.FullName, a.Id }), "Id", "FullName");
            return(View(user));
        }
示例#12
0
 public IActionResult Update([FromBody] Caregiver value)
 {
     throw new NotImplementedException();
 }
示例#13
0
 public void POST(Caregiver caregiver)
 {
     _context.Caregivers.Add(caregiver);
     _context.SaveChanges();
 }
 public void Insert(Caregiver caregiver)
 {
     _caregiverService.Insert(caregiver);
 }
示例#15
0
 public void Update(Caregiver caregiver)
 {
     _unitOfWork.CaregiverRepository.Update(caregiver);
     _unitOfWork.Save();
 }
示例#16
0
 public void Insert(Caregiver caregiver)
 {
     _unitOfWork.CaregiverRepository.Insert(caregiver);
     _unitOfWork.Save();
 }
示例#17
0
 public void Delete(Caregiver caregiver)
 {
     _unitOfWork.CaregiverRepository.Delete(caregiver);
     _unitOfWork.Save();
 }
 public void Update(Caregiver caregiver)
 {
     _caregiverService.Update(caregiver);
 }
示例#19
0
        public Caregiver Get([FromRoute] int id)
        {
            Caregiver caregiver = _context.Caregivers.Find(id);

            return(caregiver);
        }