// POST: api/GroopsUsers
        //public void Post([FromBody]string value)
        //HttpResponseMessage
        public string   Post(GroopsUser userValue)
        //public bool  Post( GroopsUser userValue)

        {
            userValue.ID = Guid.NewGuid();

            bool results = groopsRepository.AddNewUser(userValue);

            //   return results;

            //  var response = Request.CreateResponse(HttpStatusCode.Redirect);

            //from http://stackoverflow.com/questions/11324711/redirect-from-asp-net-web-api-post-action
            //    string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
            //   response.Headers.Location = new Uri (fullyQualifiedUrl + "/home/rooms/?userID=" + userValue.ID);


            //HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
            //request.CookieContainer = new CookieContainer();

            //HttpWebResponse responseB = (HttpWebResponse)request.GetResponse();


            //Cookie cookieB = httpcontext.request.cookies.get("UserName");



            //Cookie cookie = new Cookie("UserName", userValue.Name);



            return(userValue.ID.ToString());
        }
        private string userIdToUserName(Guid userId)
        {
            DataClassesContextDataContext db = new DataClassesContextDataContext();

            GroopsUser thisUser = (from oneUser in db.GroopsUsers
                                   where oneUser.ID == userId
                                   select oneUser).FirstOrDefault();

            // GroopsUser oneUserB = (GroopsUser) thisUser;



            return(thisUser.Name);
        }
        public bool AddNewUser(GroopsUser oneGroopMember)
        {
            //var ctx = HttpContext.Current;
            //if (ctx != null)
            //{
            //    try
            //    {
            //        var currentData = ((GroopsAPI[])ctx.Cache[CacheKey]).ToList();
            //        currentData.Add(oneGroopMember);
            //        ctx.Cache[CacheKey] = currentData.ToArray();

            //        return true;
            //    }


            //    catch (Exception ex)
            //    {
            //        Console.WriteLine(ex.ToString());
            //        return false;
            //    }
            //}



            DataClassesContextDataContext db = new DataClassesContextDataContext();

            var thisUser = new GroopsUser();

            thisUser.Name  = oneGroopMember.Name;
            thisUser.Email = oneGroopMember.Email;
            thisUser.ID    = oneGroopMember.ID;

            db.GroopsUsers.InsertOnSubmit(thisUser);

            //submit the changes to the database
            try
            {
                db.SubmitChanges();
                return(true);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return(false);
            }
        }
        // POST: api/GroopsUsers
        //public void Post([FromBody]string value)
        //HttpResponseMessage
        public string   Post( GroopsUser userValue)
            //public bool  Post( GroopsUser userValue)
           
        {


            userValue.ID =  Guid.NewGuid();

           bool results = groopsRepository.AddNewUser(userValue);
        //   return results;

         //  var response = Request.CreateResponse(HttpStatusCode.Redirect);

           //from http://stackoverflow.com/questions/11324711/redirect-from-asp-net-web-api-post-action
       //    string fullyQualifiedUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
        //   response.Headers.Location = new Uri (fullyQualifiedUrl + "/home/rooms/?userID=" + userValue.ID);


           //HttpWebRequest request = (HttpWebRequest)WebRequest.Create(args[0]);
           //request.CookieContainer = new CookieContainer();

           //HttpWebResponse responseB = (HttpWebResponse)request.GetResponse();


           //Cookie cookieB = httpcontext.request.cookies.get("UserName");



           //Cookie cookie = new Cookie("UserName", userValue.Name);

            



           return userValue.ID.ToString();

        }
        public bool AddNewUser(GroopsUser oneGroopMember)
        {
            //var ctx = HttpContext.Current;
            //if (ctx != null)
            //{
            //    try
            //    {
            //        var currentData = ((GroopsAPI[])ctx.Cache[CacheKey]).ToList();
            //        currentData.Add(oneGroopMember);
            //        ctx.Cache[CacheKey] = currentData.ToArray();

            //        return true;
            //    }


            //    catch (Exception ex)
            //    {
            //        Console.WriteLine(ex.ToString());
            //        return false;
            //    }
            //}



            DataClassesContextDataContext db = new DataClassesContextDataContext();

            var thisUser = new GroopsUser();

            thisUser.Name = oneGroopMember.Name;
            thisUser.Email = oneGroopMember.Email;
            thisUser.ID = oneGroopMember.ID;

            db.GroopsUsers.InsertOnSubmit(thisUser);

            //submit the changes to the database
            try
            {
                db.SubmitChanges();
                return true;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                return false;
            }


        }