// GET: VolunteerPosition/Details/5
        public ActionResult Details(int id)
        {
            ShowVolunteerPosition ViewModel = new ShowVolunteerPosition();
            string url = "volunteerpositiondata/findvolunteerposition/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;

            //Catch the status code (200 OK, 301 REDIRECT), etc.

            if (response.IsSuccessStatusCode)
            {
                //VolunteerPosition goes in Data Transfer Object
                VolunteerPositionDto SelectedVolunteerPosition = response.Content.ReadAsAsync <VolunteerPositionDto>().Result;
                ViewModel.volunteerposition = SelectedVolunteerPosition;


                url      = "volunteerpositiondata/finddepartmentforvolunteerposition/" + id;
                response = client.GetAsync(url).Result;
                DepartmentDto SelectedDepartment = response.Content.ReadAsAsync <DepartmentDto>().Result;
                ViewModel.department = SelectedDepartment;

                return(View(ViewModel));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
        public ActionResult Delete(int id)
        {
            VolunteerPosition position   = db.VolunteerPositions.SqlQuery("select * from VolunteerPositions where VolunteerPositionID = @id", new SqlParameter("@id", id)).FirstOrDefault();
            List <Department> department = db.Departments.SqlQuery("select * from Departments inner join VolunteerPositions on VolunteerPositions.DepartmentID = Departments.DepartmentID where VolunteerPositionID = @id", new SqlParameter("@id", id)).ToList();

            ShowVolunteerPosition ShowVolunteerPositionViewModel = new ShowVolunteerPosition();

            ShowVolunteerPositionViewModel.VolunteerPosition = position;
            ShowVolunteerPositionViewModel.Departments       = department;

            return(View(ShowVolunteerPositionViewModel));
        }
        public ActionResult Show(int?id)
        {
            VolunteerPosition volunteerPosition = db.VolunteerPositions.SqlQuery("select * from VolunteerPositions where VolunteerPositionID = @VolunteerPositionID", new SqlParameter("@VolunteerPositionID", id)).FirstOrDefault();
            //List <VolunteerPosition> volunteerPosition = db.VolunteerPositions.SqlQuery("select * from VolunteerPositions inner join VolunteerPositionApplicationUsers " +
            //    "on VolunteerPositionApplicationUsers.VolunteerPosition_VolunteerPositionID = VolunteerPositions.VolunteerPositionID " +
            //  "where VolunteerPosition_VolunteerPositionID = @VolunteerPositionID", new SqlParameter("@VolunteerPositionID", id)).ToList();


            List <Department>      department = db.Departments.SqlQuery("select * from Departments inner join VolunteerPositions on VolunteerPositions.DepartmentID = Departments.DepartmentID where VolunteerPositionID = @id", new SqlParameter("@id", id)).ToList();
            List <ApplicationUser> volunteers = db.VolunteerPositions.Where(x => x.VolunteerPositionID == id).SelectMany(c => c.Users).ToList();


            // string query = "select * from VolunteerPositionApplicationUsers where VolunteerPosition_VolunteerPositionID = @VolunteerPositionID";
            //  var fk_param = new SqlParameter("@VolunteerPositionID", id);

            //SqlParameter[] sqlparams = new SqlParameter[1];
            // sqlparams[0] = new SqlParameter("@VolunteerPositionID", id);
            //  List<ApplicationUser> volunteers = db.VolunteerPositions.SqlQuery(query, sqlparams).ToList();

            // string fk_query = "select * from VolunteerPositions inner join VolunteerPositionApplicationUsers " +
            //  "on VolunteerPositionApplicationUsers.VolunteerPosition_VolunteerPositionID = VolunteerPositions.VolunteerPositionID " +
            //   "where VolunteerPosition_VolunteerPositionID = @VolunteerPositionID";
            //  var fk_param = new SqlParameter("@VolunteerPositionID", id);
            // List<VolunteerPosition> volunteerPosition = db.VolunteerPositions.SqlQuery(fk_query, fk_param).ToList();



            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            if (volunteerPosition == null)
            {
                return(HttpNotFound());
            }
            ShowVolunteerPosition ShowVolunteerPositionViewModel = new ShowVolunteerPosition();

            ShowVolunteerPositionViewModel.VolunteerPosition = volunteerPosition;
            ShowVolunteerPositionViewModel.Departments       = department;
            ShowVolunteerPositionViewModel.Users             = volunteers;


            return(View(ShowVolunteerPositionViewModel));
        }