private static void RetrieveDataWithStoredProc()
        {
            using (NinjaContext context = new NinjaContext())
            {
                context.Database.Log = Console.WriteLine;
                System.Data.Entity.Infrastructure.DbSqlQuery <Ninja> ninjas = context.Ninjas.SqlQuery("exec GetOldNinjas");

                foreach (Ninja ninja in ninjas)
                {
                    Console.WriteLine(ninja.Name);
                }

                // or use the LINQ execution methods

                List <Ninja> ninjas2 = context.Ninjas.SqlQuery("exec GetOldNinjas").ToList();
            }
        }
        public async Task <ActionResult> ProfileView(int?mode)
        {
            if (mode == null)
            {
                mode = 0;
            }
            ViewBag.mode = mode;
            String userID = User.Identity.GetUserId();

            if (userID == null || userID.Length == 0)
            {
                return(View());
            }
            aspnetuserclaim aspUserClaim = db.aspnetuserclaims.Where(i => i.UserId == userID).Single();

            switch (mode)
            {
            case 0:    //Profile
            {
                string   query    = "SELECT * FROM userinfo WHERE userinfo.Id = '" + userID + "'";
                userinfo UserInfo = await db.userinfoes.SqlQuery(query).SingleOrDefaultAsync();

                query = "SELECT * FROM aspnetusers WHERE Id = '" + userID + "'";
                aspnetuser aspnetUserInfo = await db.aspnetusers.SqlQuery(query).SingleOrDefaultAsync();

                Models.RegisterViewModel model = new Models.RegisterViewModel();

                model.Email = User.Identity.Name;
                //model.Password = "";
                //model.ConfirmPassword = "";
                model.UserName    = UserInfo.UserName;
                model.Birthday    = (DateTime)(UserInfo.Date_Of_Birth == null ? new DateTime() : UserInfo.Date_Of_Birth);
                model.Picture     = UserInfo.Profile_Pic;
                model.Gender      = (int)UserInfo.Gender;
                model.GenderPref  = (int)UserInfo.Gender_Pref;
                model.PhoneNumber = aspnetUserInfo.PhoneNumber;
                model.Ethnicity   = UserInfo.Ethnicity;
                model.Interests   = UserInfo.Interests;
                model.City        = UserInfo.City;
                model.County      = UserInfo.County;
                model.Country     = UserInfo.Country;
                model.Postcode    = UserInfo.Postcode;
                model.AccountType = (int)(UserInfo.Account_Type == null ? 0 : UserInfo.Account_Type);

                ViewBag.GalleryPics        = UserInfo.Gallery_Pics;
                ViewBag.PrivateGalleryPics = UserInfo.Private_Gallery_Pics;

                return(View("ProfileView", model));
            }

            case 1:    //Gallery
            {
                String GalleryPics = "";
                if (userID != null)
                {
                    string query = "SELECT * FROM userinfo WHERE userinfo.Id = '" + userID + "'";
                    System.Data.Entity.Infrastructure.DbSqlQuery <userinfo> userInfos = db.userinfoes.SqlQuery(query);

                    userinfo UserInfo = null;
                    if (userInfos != null)
                    {
                        UserInfo = await userInfos.SingleOrDefaultAsync();
                    }

                    if (UserInfo != null && UserInfo.Gallery_Pics != null)
                    {
                        GalleryPics = UserInfo.Gallery_Pics;
                    }
                }
                return(View("ProfileView", (object)GalleryPics));
            }

            case 2:    //Private Gallery
            {
                String GalleryPics = "";
                if (userID != null)
                {
                    string query = "SELECT * FROM userinfo WHERE userinfo.Id = '" + userID + "'";
                    System.Data.Entity.Infrastructure.DbSqlQuery <userinfo> userInfos = db.userinfoes.SqlQuery(query);

                    userinfo UserInfo = null;
                    if (userInfos != null)
                    {
                        UserInfo = await userInfos.SingleOrDefaultAsync();
                    }

                    if (UserInfo != null && UserInfo.Gallery_Pics != null)
                    {
                        GalleryPics = UserInfo.Private_Gallery_Pics;
                    }
                }
                return(View("ProfileView", (object)GalleryPics));
            }
            }

            return(View());
        }
        public async Task <ActionResult> AddPrivateGallery(int mode, HttpPostedFileBase picture_selector, IEnumerable <string> gallery)
        {
            String userID      = User.Identity.GetUserId();
            String GalleryPics = "";

            if (mode == 0)
            {
                //{{Upload Picture
                String FileName = picture_selector.FileName;
                if (picture_selector != null && userID != null)
                {
                    string PictureDirectory = Server.MapPath("~/Content/UserPicture/Private/");
                    if (!Directory.Exists(PictureDirectory))
                    {
                        Directory.CreateDirectory(PictureDirectory);
                    }

                    PictureDirectory += userID;
                    if (!Directory.Exists(PictureDirectory))
                    {
                        Directory.CreateDirectory(PictureDirectory);
                    }

                    if (System.IO.File.Exists(PictureDirectory + "/" + FileName))
                    {
                        FileName = FileName.Insert(FileName.Length - 4, "(2)");
                    }

                    var path = PictureDirectory + "/" + FileName;
                    var data = new byte[picture_selector.ContentLength];
                    picture_selector.InputStream.Read(data, 0, picture_selector.ContentLength);

                    using (var sw = new FileStream(path, FileMode.Create))
                    {
                        sw.Write(data, 0, data.Length);
                    }

                    string query = "SELECT * FROM userinfo WHERE userinfo.Id = '" + userID + "'";
                    System.Data.Entity.Infrastructure.DbSqlQuery <userinfo> userInfos = db.userinfoes.SqlQuery(query);

                    userinfo UserInfo = null;
                    if (userInfos != null)
                    {
                        UserInfo = await userInfos.SingleOrDefaultAsync();
                    }

                    if (UserInfo != null && UserInfo.Gallery_Pics != null)
                    {
                        GalleryPics = UserInfo.Private_Gallery_Pics;
                    }

                    GalleryPics += (GalleryPics.Length > 0 ? "," : "") + FileName;
                    db.Database.ExecuteSqlCommand("UPDATE userinfo SET Private_Gallery_Pics = {0} where Id={1}", GalleryPics, userID);
                }
                //}}Upload Picture
            }
            else if (mode == 1 && gallery != null)
            {
                string query = "SELECT * FROM userinfo WHERE userinfo.Id = '" + userID + "'";
                System.Data.Entity.Infrastructure.DbSqlQuery <userinfo> userInfos = db.userinfoes.SqlQuery(query);

                userinfo UserInfo = null;
                if (userInfos != null)
                {
                    UserInfo = await userInfos.SingleOrDefaultAsync();
                }

                if (UserInfo != null && UserInfo.Private_Gallery_Pics != null)
                {
                    GalleryPics = UserInfo.Private_Gallery_Pics;
                }

                string PictureDirectory = Server.MapPath("~/Content/UserPicture/Private/");
                PictureDirectory += userID;
                foreach (String name in gallery)
                {
                    if (System.IO.File.Exists(PictureDirectory + "/" + name))
                    {
                        System.IO.File.Delete(PictureDirectory + "/" + name);
                    }
                    GalleryPics = GalleryPics.Replace(name, "");
                }
                string pattern = ",+";
                Regex  rgx     = new Regex(pattern);
                GalleryPics = rgx.Replace(GalleryPics, ",");
                db.Database.ExecuteSqlCommand("UPDATE userinfo SET Private_Gallery_Pics = {0} where Id={1}", GalleryPics, userID);
            }

            ViewBag.mode = 2;
            return(View("ProfileView", (object)GalleryPics));
        }