Пример #1
0
        private List <SelectListItem> BuildSlideShowImageList(string imageguids)
        {
            IImageRepository      imgrep = new EntityImageRepository();
            List <SelectListItem> items  = new List <SelectListItem>();

            // Get the image from the database
            string[] guids = imageguids.Split('|');
            foreach (string guid in guids)
            {
                if (!String.IsNullOrEmpty(guid.Trim()))
                {
                    Image img = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), guid.Trim());
                    if (img != null)
                    {
                        SelectListItem item = new SelectListItem();
                        item.Text  = img.ImageName;
                        item.Value = img.StoredFilename;

                        items.Add(item);
                    }
                }
            }

            return(items);
        }
Пример #2
0
        //
        // GET: /ScreenWizard/Step3/5

        public ActionResult Step3(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                Screen           screen = repository.GetScreen(id);
                IImageRepository imgrep = new EntityImageRepository();
                Image            image  = imgrep.GetImage(screen.ButtonImageID);
                if (image == null)
                {
                    ViewData["ImageList"] = new SelectList(BuildImageList(""), "Value", "Text", "");
                }
                else
                {
                    ViewData["ImageList"] = new SelectList(BuildImageList(image.StoredFilename), "Value", "Text", image.StoredFilename);
                }
                if (!String.IsNullOrEmpty(selectedfile))
                {
                    ViewData["ImageUrl"] = selectedfile;
                }
                else
                {
                    ViewData["ImageUrl"] = firstfile;
                }
                ViewData["ValidationMessage"] = String.Empty;
                ViewData["ScreenID"]          = id;

                int accountid = 0;
                if (Session["UserAccountID"] != null)
                {
                    accountid = Convert.ToInt32(Session["UserAccountID"]);
                }
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                return(View(screen));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("ScreenWizard", "Step 3", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #3
0
        //
        // GET: /Screen/Edit/5

        public ActionResult Edit(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                Screen screen = repository.GetScreen(id);

                ViewData["ValidationMessage"] = String.Empty;
                IImageRepository imgrep = new EntityImageRepository();
                Image            img    = imgrep.GetImage(screen.ButtonImageID);
                ViewData["ImageList"]               = new SelectList(BuildImageList(img.StoredFilename), "Value", "Text", img.StoredFilename);
                ViewData["ImageUrl"]                = selectedfile;
                ViewData["SlideShowList"]           = new SelectList(BuildSlideShowList(), "Value", "Text", screen.SlideShowID);
                ViewData["PlayListList"]            = new SelectList(BuildPlayListList(), "Value", "Text", screen.PlayListID);
                ViewData["ScreenContentList"]       = new SelectList(BuildScreenContentList(), "Value", "Text", "");
                ViewData["ScreenScreenContentList"] = new SelectList(BuildScreenScreenContentList(screen.ScreenID), "Value", "Text", "");

                // Get the content ids for the screen
                string ids = String.Empty;
                IScreenScreenContentXrefRepository    sscrep = new EntityScreenScreenContentXrefRepository();
                IEnumerable <ScreenScreenContentXref> sscs   = sscrep.GetScreenScreenContentXrefs(screen.ScreenID);
                foreach (ScreenScreenContentXref ssc in sscs)
                {
                    ids += "|" + ssc.ScreenContentID.ToString();
                }
                ViewData["ScreenScreenContent"] = ids;

                int accountid = 0;
                if (Session["UserAccountID"] != null)
                {
                    accountid = Convert.ToInt32(Session["UserAccountID"]);
                }
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                return(View(screen));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Screen", "Edit", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #4
0
        private List <SelectListItem> BuildImageList(string currentfile)
        {
            // Get the account id
            int accountid = 0;

            if (Session["UserAccountID"] != null)
            {
                accountid = Convert.ToInt32(Session["UserAccountID"]);
            }

            // Get the active images
            IImageRepository    imgrep = new EntityImageRepository();
            IEnumerable <Image> imgs   = imgrep.GetAllImages(accountid);

            string imagefolder = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

            List <SelectListItem> items = new List <SelectListItem>();
            bool first = true;

            foreach (Image img in imgs)
            {
                if (first)
                {
                    first     = false;
                    firstfile = imagefolder + img.StoredFilename;
                }

                SelectListItem item = new SelectListItem();
                item.Text  = img.ImageName;
                item.Value = img.StoredFilename;
                if (item.Value == currentfile)
                {
                    selectedfile = imagefolder + img.StoredFilename;
                }

                items.Add(item);
            }

            return(items);
        }
Пример #5
0
        //
        // GET: /Survey/View/5

        public ActionResult View(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                Survey survey = repository.GetSurvey(id);
                ViewData["ValidationMessage"] = String.Empty;

                IImageRepository imgrep = new EntityImageRepository();
                Image            img    = imgrep.GetImage(survey.SurveyImageID);
                ViewData["ImageList"]   = new SelectList(BuildImageList(img.StoredFilename), "Value", "Text", img.StoredFilename);
                ViewData["ImageUrl"]    = selectedfile;
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                ViewData["SurveyTable"] = BuildSurveyTableNoLinks(survey);

                return(View(survey));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Survey", "View", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #6
0
        private List <SelectListItem> BuildTimelineMediaList(string mediaguids)
        {
            IImageRepository      imgrep = new EntityImageRepository();
            IVideoRepository      vidrep = new EntityVideoRepository();
            List <SelectListItem> items  = new List <SelectListItem>();

            // Get the images and videos from the database
            string[] guids = mediaguids.Split('|');
            foreach (string guid in guids)
            {
                if (!String.IsNullOrEmpty(guid.Trim()))
                {
                    Image img = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), guid.Trim());
                    if (img != null)
                    {
                        SelectListItem item = new SelectListItem();
                        item.Text  = img.ImageName + " (Image)";
                        item.Value = img.StoredFilename;

                        items.Add(item);
                    }
                    else
                    {
                        Video vid = vidrep.GetVideoByGuid(Convert.ToInt32(Session["UserAccountID"]), guid.Trim());
                        if (vid != null)
                        {
                            SelectListItem item = new SelectListItem();
                            item.Text  = vid.VideoName + " (Video)";
                            item.Value = vid.StoredFilename;

                            items.Add(item);
                        }
                    }
                }
            }

            return(items);
        }
Пример #7
0
        private List <SelectListItem> BuildImageList(int currentimageid)
        {
            // Get the account id
            int accountid = 0;

            if (Session["UserAccountID"] != null)
            {
                accountid = Convert.ToInt32(Session["UserAccountID"]);
            }

            // Get the active images
            IImageRepository    imgrep = new EntityImageRepository();
            IEnumerable <Image> imgs   = imgrep.GetAllImages(accountid);

            List <SelectListItem> items = new List <SelectListItem>();

            if (currentimageid > 0)
            {
                Image currentimage = imgrep.GetImage(currentimageid);

                SelectListItem item = new SelectListItem();
                item.Text  = currentimage.ImageName;
                item.Value = currentimage.ImageID.ToString();

                items.Add(item);
            }
            foreach (Image img in imgs)
            {
                SelectListItem item = new SelectListItem();
                item.Text  = img.ImageName;
                item.Value = img.ImageID.ToString();

                items.Add(item);
            }

            return(items);
        }
Пример #8
0
        public ActionResult Edit(SlideShow slideshow)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    slideshow = FillNulls(slideshow);

                    string validation = ValidateInput(slideshow, Request.Form["txtSlideShowImages"].ToString());
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"]  = validation;
                        ViewData["ImageList"]          = new SelectList(BuildImageList(), "Value", "Text", "");
                        ViewData["ImageUrl"]           = firstfile;
                        ViewData["SlideShowImages"]    = Request.Form["txtSlideShowImages"].ToString();
                        ViewData["SlideShowMusic"]     = Request.Form["txtSlideShowMusic"].ToString();
                        ViewData["SlideShowImageList"] = new SelectList(BuildSlideShowImageList(Request.Form["txtSlideShowImages"].ToString()), "Value", "Text", "");
                        ViewData["SlideShowMusicList"] = new SelectList(BuildSlideShowMusicList(Request.Form["txtSlideShowMusic"].ToString()), "Value", "Text", "");
                        ViewData["TransitionTypeList"] = new SelectList(BuildTransitionTypeList(), "Value", "Text", slideshow.TransitionType);

                        // Get the account id
                        int accountid = 0;
                        if (Session["UserAccountID"] != null)
                        {
                            accountid = Convert.ToInt32(Session["UserAccountID"]);
                        }
                        ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        return(View(slideshow));
                    }
                    else
                    {
                        // Update the slideshow
                        slideshow.TransitionType = Request.Form["lstTransitionType"].ToString();
                        repository.UpdateSlideShow(slideshow);

                        CommonMethods.CreateActivityLog((User)Session["User"], "Slide Show", "Edit",
                                                        "Edited slide show '" + slideshow.SlideShowName + "' - ID: " + slideshow.SlideShowID.ToString());

                        ISlideShowImageXrefRepository xrefrep      = new EntitySlideShowImageXrefRepository();
                        ISlideShowMusicXrefRepository musicxrefrep = new EntitySlideShowMusicXrefRepository();
                        IImageRepository imgrep   = new EntityImageRepository();
                        IMusicRepository musicrep = new EntityMusicRepository();

                        // Delete existing xrefs for the slideshow
                        xrefrep.DeleteSlideShowImageXrefs(slideshow.SlideShowID);
                        musicxrefrep.DeleteSlideShowMusicXrefs(slideshow.SlideShowID);

                        // Create a xref for each image in the slideshow
                        string[] guids = Request.Form["txtSlideShowImages"].ToString().Split('|');
                        int      i     = 1;
                        foreach (string guid in guids)
                        {
                            if (!String.IsNullOrEmpty(guid.Trim()))
                            {
                                Image img = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), guid);
                                if (img != null)
                                {
                                    SlideShowImageXref xref = new SlideShowImageXref();
                                    xref.PlayOrder   = i;
                                    xref.SlideShowID = slideshow.SlideShowID;
                                    xref.ImageID     = img.ImageID;
                                    xrefrep.CreateSlideShowImageXref(xref);
                                    i += 1;
                                }
                            }
                        }

                        // Create a xref for each music file in the slideshow
                        guids = Request.Form["txtSlideShowMusic"].ToString().Split('|');
                        i     = 1;
                        foreach (string guid in guids)
                        {
                            if (!String.IsNullOrEmpty(guid.Trim()))
                            {
                                Music music = musicrep.GetMusicByGuid(Convert.ToInt32(Session["UserAccountID"]), guid);
                                if (music != null)
                                {
                                    SlideShowMusicXref xref = new SlideShowMusicXref();
                                    xref.PlayOrder   = i;
                                    xref.SlideShowID = slideshow.SlideShowID;
                                    xref.MusicID     = music.MusicID;
                                    musicxrefrep.CreateSlideShowMusicXref(xref);
                                    i += 1;
                                }
                            }
                        }

                        return(RedirectToAction("Index"));
                    }
                }

                return(View(slideshow));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("SlideShow", "Edit POST", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #9
0
        //
        // GET: /Timeline/Edit/5

        public ActionResult Edit(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                Timeline timeline = repository.GetTimeline(id);

                // Get the data to populate the lists and hidden fields
                ViewData["ImageList"]   = new SelectList(BuildImageList(), "Value", "Text", "");
                ViewData["MusicList"]   = new SelectList(BuildMusicList(), "Value", "Text", "");
                ViewData["VideoList"]   = new SelectList(BuildVideoList(), "Value", "Text", "");
                ViewData["ImageUrl"]    = firstimagefile;
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";
                ViewData["VideoUrl"]    = firstvideofile;
                ViewData["VideoFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Videos/";

                List <TimelineMediaSort> media = new List <TimelineMediaSort>();

                // Get the images
                ITimelineImageXrefRepository    imagexrefrep = new EntityTimelineImageXrefRepository();
                IImageRepository                imgrep       = new EntityImageRepository();
                IEnumerable <TimelineImageXref> imagexrefs   = imagexrefrep.GetTimelineImageXrefs(id);
                foreach (TimelineImageXref imagexref in imagexrefs)
                {
                    Image             img  = imgrep.GetImage(imagexref.ImageID);
                    TimelineMediaSort sort = new TimelineMediaSort();
                    sort.guid         = img.StoredFilename;
                    sort.DisplayOrder = imagexref.DisplayOrder;
                    media.Add(sort);
                }

                // Get the videos
                ITimelineVideoXrefRepository    videoxrefrep = new EntityTimelineVideoXrefRepository();
                IVideoRepository                vidrep       = new EntityVideoRepository();
                IEnumerable <TimelineVideoXref> videoxrefs   = videoxrefrep.GetTimelineVideoXrefs(id);
                foreach (TimelineVideoXref videoxref in videoxrefs)
                {
                    Video             vid  = vidrep.GetVideo(videoxref.VideoID);
                    TimelineMediaSort sort = new TimelineMediaSort();
                    sort.guid         = vid.StoredFilename;
                    sort.DisplayOrder = videoxref.DisplayOrder;
                    media.Add(sort);
                }

                // Build a list of sorted media guids
                string mediaguids = String.Empty;
                media.Sort();
                foreach (TimelineMediaSort sort in media)
                {
                    mediaguids += "|" + sort.guid;
                }

                ViewData["TimelineMedia"]     = mediaguids;
                ViewData["TimelineMediaList"] = new SelectList(BuildTimelineMediaList(mediaguids), "Value", "Text", "");

                // Get the music
                string musicguids = String.Empty;
                ITimelineMusicXrefRepository    musicxrefrep = new EntityTimelineMusicXrefRepository();
                IMusicRepository                musicrep     = new EntityMusicRepository();
                IEnumerable <TimelineMusicXref> musicxrefs   = musicxrefrep.GetTimelineMusicXrefs(id);
                foreach (TimelineMusicXref musicxref in musicxrefs)
                {
                    Music msc = musicrep.GetMusic(musicxref.MusicID);
                    musicguids += "|" + msc.StoredFilename;
                }

                ViewData["TimelineMusic"]     = musicguids;
                ViewData["TimelineMusicList"] = new SelectList(BuildTimelineMusicList(musicguids), "Value", "Text", "");

                ViewData["ValidationMessage"] = String.Empty;

                return(View(timeline));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Timeline", "Edit", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #10
0
        //
        // GET: /ScreenWizard/Step3/5

        public ActionResult Step3(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                    return RedirectToAction("Validate", "Login");
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                    ViewData["txtIsAdmin"] = "true";
                else
                    ViewData["txtIsAdmin"] = "false";

                Screen screen = repository.GetScreen(id);
                IImageRepository imgrep = new EntityImageRepository();
                Image image = imgrep.GetImage(screen.ButtonImageID);
                if (image == null)
                    ViewData["ImageList"] = new SelectList(BuildImageList(""), "Value", "Text", "");
                else
                    ViewData["ImageList"] = new SelectList(BuildImageList(image.StoredFilename), "Value", "Text", image.StoredFilename);
                if (!String.IsNullOrEmpty(selectedfile))
                    ViewData["ImageUrl"] = selectedfile;
                else
                    ViewData["ImageUrl"] = firstfile;
                ViewData["ValidationMessage"] = String.Empty;
                ViewData["ScreenID"] = id;
                
                int accountid = 0;
                if (Session["UserAccountID"] != null)
                    accountid = Convert.ToInt32(Session["UserAccountID"]);
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                return View(screen);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("ScreenWizard", "Step 3", ex.Message);
                return RedirectToAction("Index", "ApplicationError");
            }
        }
Пример #11
0
        //
        // GET: /SlideShow/Edit/5

        public ActionResult Edit(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                SlideShow slideshow = repository.GetSlideShow(id);
                ViewData["ValidationMessage"] = String.Empty;
                ViewData["ImageList"]         = new SelectList(BuildImageList(), "Value", "Text", "");
                ViewData["MusicList"]         = new SelectList(BuildMusicList(), "Value", "Text", "");
                ViewData["ImageUrl"]          = firstfile;

                // Get the image guids for the slideshow
                string guids = String.Empty;
                ISlideShowImageXrefRepository xrefrep = new EntitySlideShowImageXrefRepository();
                IImageRepository imgrep = new EntityImageRepository();
                IEnumerable <SlideShowImageXref> xrefs = xrefrep.GetSlideShowImageXrefs(id);
                foreach (SlideShowImageXref xref in xrefs)
                {
                    Image img = imgrep.GetImage(xref.ImageID);
                    guids += "|" + img.StoredFilename;
                }

                ViewData["SlideShowImages"]    = guids;
                ViewData["SlideShowImageList"] = new SelectList(BuildSlideShowImageList(guids), "Value", "Text", "");

                // Get the music guids for the slideshow
                string musicguids = String.Empty;
                ISlideShowMusicXrefRepository musicxrefrep = new EntitySlideShowMusicXrefRepository();
                IMusicRepository musicrep = new EntityMusicRepository();
                IEnumerable <SlideShowMusicXref> musicxrefs = musicxrefrep.GetSlideShowMusicXrefs(id);
                foreach (SlideShowMusicXref musicxref in musicxrefs)
                {
                    Music msc = musicrep.GetMusic(musicxref.MusicID);
                    musicguids += "|" + msc.StoredFilename;
                }

                ViewData["SlideShowMusic"]     = musicguids;
                ViewData["SlideShowMusicList"] = new SelectList(BuildSlideShowMusicList(musicguids), "Value", "Text", "");

                ViewData["TransitionTypeList"] = new SelectList(BuildTransitionTypeList(), "Value", "Text", slideshow.TransitionType);

                // Get the account id
                int accountid = 0;
                if (Session["UserAccountID"] != null)
                {
                    accountid = Convert.ToInt32(Session["UserAccountID"]);
                }
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                return(View(slideshow));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("SlideShow", "Edit", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #12
0
        public string Player_GetMediaToDownload(int accountid)
        {
            try
            {
                IImageRepository imagerep = new EntityImageRepository();
                IVideoRepository videorep = new EntityVideoRepository();
                IMusicRepository musicrep = new EntityMusicRepository();

                // Returns all the media files for the account
                List <Image> images = new List <Image>();
                List <Video> videos = new List <Video>();
                List <Music> musics = new List <Music>();

                StringBuilder sb = new StringBuilder();

                sb.Append("<xml>");

                // Images ---------------------------------------------------------------------------------
                images = imagerep.GetAllImages(accountid).ToList();
                sb.Append("<Images>");
                foreach (Image image in images)
                {
                    sb.Append("<Image ");
                    sb.Append("ImageID=\"" + image.ImageID.ToString() + "\" ");
                    sb.Append("StoredFilename=\"" + image.StoredFilename + "\" ");
                    sb.Append("ImageName=\"" + Utility.EncodeXMLString(image.ImageName) + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</Images>");

                // Videos ---------------------------------------------------------------------------------
                videos = videorep.GetAllVideos(accountid).ToList();
                sb.Append("<Videos>");
                foreach (Video video in videos)
                {
                    sb.Append("<Video ");
                    sb.Append("VideoID=\"" + video.VideoID.ToString() + "\" ");
                    sb.Append("StoredFilename=\"" + video.StoredFilename + "\" ");
                    sb.Append("VideoName=\"" + video.VideoName + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</Videos>");

                // Music ---------------------------------------------------------------------------------
                musics = musicrep.GetAllMusics(accountid).ToList();
                sb.Append("<Musics>");
                foreach (Music music in musics)
                {
                    sb.Append("<Music ");
                    sb.Append("MusicID=\"" + music.MusicID.ToString() + "\" ");
                    sb.Append("StoredFilename=\"" + music.StoredFilename + "\" ");
                    sb.Append("MusicName=\"" + music.MusicName + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</Musics>");

                // Close the XML and return
                sb.Append("</xml>");

                return(sb.ToString());
            }
            catch (Exception ex)
            {
                return("<xml><Error>" + ex.Message + "</Error></xml>");
            }
        }
Пример #13
0
        public ActionResult Edit(Survey survey)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    survey = FillNulls(survey);

                    IImageRepository imgrep = new EntityImageRepository();
                    Image            img    = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), Request.Form["lstImage"]);
                    if (img != null)
                    {
                        survey.SurveyImageID = img.ImageID;
                    }
                    else
                    {
                        survey.SurveyImageID = 0;
                    }

                    string validation = ValidateInput(survey);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"] = validation;
                        ViewData["ImageList"]         = new SelectList(BuildImageList(Request.Form["lstImage"]), "Value", "Text", Request.Form["lstImage"]);
                        ViewData["ImageUrl"]          = selectedfile;
                        ViewData["ImageFolder"]       = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        ViewData["SurveyTable"] = BuildSurveyTable(survey);
                        return(View(survey));
                    }

                    repository.UpdateSurvey(survey);

                    CommonMethods.CreateActivityLog((User)Session["User"], "Survey", "Edit",
                                                    "Edited survey '" + survey.SurveyName + "' - ID: " + survey.SurveyID.ToString());

                    return(RedirectToAction("Index"));
                }

                return(View(survey));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Survey", "Edit POST", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #14
0
        //
        // GET: /Survey/View/5

        public ActionResult View(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                    return RedirectToAction("Validate", "Login");
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                    ViewData["txtIsAdmin"] = "true";
                else
                    ViewData["txtIsAdmin"] = "false";

                Survey survey = repository.GetSurvey(id);
                ViewData["ValidationMessage"] = String.Empty;

                IImageRepository imgrep = new EntityImageRepository();
                Image img = imgrep.GetImage(survey.SurveyImageID);
                ViewData["ImageList"] = new SelectList(BuildImageList(img.StoredFilename), "Value", "Text", img.StoredFilename);
                ViewData["ImageUrl"] = selectedfile;
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                ViewData["SurveyTable"] = BuildSurveyTableNoLinks(survey);

                return View(survey);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Survey", "View", ex.Message);
                return RedirectToAction("Index", "ApplicationError");
            }
        }
Пример #15
0
        public ActionResult Edit(Screen screen)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                    return RedirectToAction("Validate", "Login");
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                    ViewData["txtIsAdmin"] = "true";
                else
                    ViewData["txtIsAdmin"] = "false";

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    screen = FillNulls(screen);
                    screen.SlideShowID = Convert.ToInt32(Request.Form["lstSlideShow"]);
                    screen.PlayListID = Convert.ToInt32(Request.Form["lstPlayList"]);
                    string buttonimageguid = Request.Form["lstButtonImage"];

                    IImageRepository imgrep = new EntityImageRepository();
                    Image img = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), buttonimageguid);
                    if (img != null)
                        screen.ButtonImageID = img.ImageID;
                    else
                        screen.ButtonImageID = 0;

                    string validation = ValidateInput(screen);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"] = validation;
                        ViewData["ImageList"] = new SelectList(BuildImageList(Request.Form["lstButtonImage"]), "Value", "Text", Request.Form["lstButtonImage"]);
                        ViewData["ImageUrl"] = selectedfile;
                        ViewData["SlideShowList"] = new SelectList(BuildSlideShowList(), "Value", "Text", Request.Form["lstSlideShow"]);
                        ViewData["PlayListList"] = new SelectList(BuildPlayListList(), "Value", "Text", Request.Form["lstPlayList"]);

                        int accountid = 0;
                        if (Session["UserAccountID"] != null)
                            accountid = Convert.ToInt32(Session["UserAccountID"]);
                        ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        return View(screen);
                    }
                    else
                    {
                        // Update the screen
                        repository.UpdateScreen(screen);

                        CommonMethods.CreateActivityLog((User)Session["User"], "Screen", "Edit",
                            "Edited screen '" + screen.ScreenName + "' - ID: " + screen.ScreenID.ToString());

                        IScreenScreenContentXrefRepository xrefrep = new EntityScreenScreenContentXrefRepository();

                        // Delete existing xrefs for the screen
                        xrefrep.DeleteScreenScreenContentXrefs(screen.ScreenID);

                        // Create a xref for each screen content in the screen
                        IScreenScreenContentXrefRepository sscrep = new EntityScreenScreenContentXrefRepository();
                        string[] ids = Request.Form["txtScreenScreenContent"].ToString().Split('|');
                        int i = 1;
                        foreach (string id in ids)
                        {
                            if (!String.IsNullOrEmpty(id.Trim()))
                            {
                                ScreenScreenContentXref ssc = new ScreenScreenContentXref();
                                ssc.DisplayOrder = i;
                                ssc.ScreenID = screen.ScreenID;
                                ssc.ScreenContentID = Convert.ToInt32(id);
                                sscrep.CreateScreenScreenContentXref(ssc);
                                i += 1;
                            }
                        }

                        return RedirectToAction("Index");
                    }
                }

                return View(screen);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Screen", "Edit POST", ex.Message);
                return RedirectToAction("Index", "ApplicationError");
            }
        }
Пример #16
0
        public ActionResult Edit(Timeline timeline)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    timeline           = FillNulls(timeline);
                    timeline.AccountID = Convert.ToInt32(Session["UserAccountID"]);

                    string validation = ValidateInput(timeline);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"] = validation;
                        ViewData["ImageList"]         = new SelectList(BuildImageList(), "Value", "Text", "");
                        ViewData["MusicList"]         = new SelectList(BuildMusicList(), "Value", "Text", "");
                        ViewData["VideoList"]         = new SelectList(BuildVideoList(), "Value", "Text", "");
                        ViewData["TimelineMediaList"] = new SelectList(BuildTimelineMediaList(Request.Form["txtTimelineMedia"].ToString()), "Value", "Text", "");
                        ViewData["TimelineMusicList"] = new SelectList(BuildTimelineMusicList(Request.Form["txtTimelineMusic"].ToString()), "Value", "Text", "");
                        ViewData["TimelineMedia"]     = Request.Form["txtTimelineMedia"].ToString();;
                        ViewData["TimelineMusic"]     = Request.Form["txtTimelineMusic"].ToString();;
                        ViewData["ImageUrl"]          = firstimagefile;
                        ViewData["ImageFolder"]       = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";
                        ViewData["VideoUrl"]          = firstvideofile;
                        ViewData["VideoFolder"]       = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Videos/";

                        return(View(timeline));
                    }
                    else
                    {
                        // Update the timeline
                        repository.UpdateTimeline(timeline);

                        CommonMethods.CreateActivityLog((User)Session["User"], "Timeline", "Edit",
                                                        "Edited timeline '" + timeline.TimelineName + "' - ID: " + timeline.TimelineID.ToString());

                        string[] guids;
                        int      i = 0;

                        // Delete the image, video, and music xrefs, then create new ones
                        ITimelineImageXrefRepository imagexrefrep = new EntityTimelineImageXrefRepository();
                        ITimelineVideoXrefRepository videoxrefrep = new EntityTimelineVideoXrefRepository();
                        ITimelineMusicXrefRepository musicxrefrep = new EntityTimelineMusicXrefRepository();
                        imagexrefrep.DeleteTimelineImageXrefs(timeline.TimelineID);
                        videoxrefrep.DeleteTimelineVideoXrefs(timeline.TimelineID);
                        musicxrefrep.DeleteTimelineMusicXrefs(timeline.TimelineID);

                        // Create the image xrefs
                        IImageRepository imagerep = new EntityImageRepository();
                        guids = Request.Form["txtTimelineMedia"].ToString().Split('|');
                        i     = 1;
                        foreach (string guid in guids)
                        {
                            if (!String.IsNullOrEmpty(guid.Trim()))
                            {
                                Image image = imagerep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), guid);
                                if (image != null)
                                {
                                    TimelineImageXref xref = new TimelineImageXref();
                                    xref.DisplayOrder = i;
                                    xref.TimelineID   = timeline.TimelineID;
                                    xref.ImageID      = image.ImageID;
                                    imagexrefrep.CreateTimelineImageXref(xref);
                                }
                                i += 1;
                            }
                        }

                        // Create the video xrefs
                        IVideoRepository videorep = new EntityVideoRepository();
                        guids = Request.Form["txtTimelineMedia"].ToString().Split('|');
                        i     = 1;
                        foreach (string guid in guids)
                        {
                            if (!String.IsNullOrEmpty(guid.Trim()))
                            {
                                Video video = videorep.GetVideoByGuid(Convert.ToInt32(Session["UserAccountID"]), guid);
                                if (video != null)
                                {
                                    TimelineVideoXref xref = new TimelineVideoXref();
                                    xref.DisplayOrder = i;
                                    xref.TimelineID   = timeline.TimelineID;
                                    xref.VideoID      = video.VideoID;
                                    videoxrefrep.CreateTimelineVideoXref(xref);
                                }
                                i += 1;
                            }
                        }

                        // Create the music xrefs
                        IMusicRepository musicrep = new EntityMusicRepository();
                        guids = Request.Form["txtTimelineMusic"].ToString().Split('|');
                        i     = 1;
                        foreach (string guid in guids)
                        {
                            if (!String.IsNullOrEmpty(guid.Trim()))
                            {
                                Music music = musicrep.GetMusicByGuid(Convert.ToInt32(Session["UserAccountID"]), guid);
                                if (music != null)
                                {
                                    TimelineMusicXref xref = new TimelineMusicXref();
                                    xref.PlayOrder  = i;
                                    xref.TimelineID = timeline.TimelineID;
                                    xref.MusicID    = music.MusicID;
                                    musicxrefrep.CreateTimelineMusicXref(xref);
                                    i += 1;
                                }
                            }
                        }

                        return(RedirectToAction("Index"));
                    }
                }

                return(View(timeline));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Timeline", "Edit POST", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #17
0
        public ActionResult Step3(Screen screen)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                    return RedirectToAction("Validate", "Login");
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                    ViewData["txtIsAdmin"] = "true";
                else
                    ViewData["txtIsAdmin"] = "false";

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    screen = FillNulls(screen);
                    screen.AccountID = Convert.ToInt32(Session["UserAccountID"]);

                    string buttonimageguid = Request.Form["lstButtonImage"];

                    IImageRepository imgrep = new EntityImageRepository();
                    Image img = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), buttonimageguid);
                    if (img != null)
                        screen.ButtonImageID = img.ImageID;
                    else
                        screen.ButtonImageID = 0;

                    string validation = ValidateInput(screen);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"] = validation;
                        ViewData["ScreenID"] = screen.ScreenID;
                        if (img == null)
                            ViewData["ImageList"] = new SelectList(BuildImageList(""), "Value", "Text", "");
                        else
                            ViewData["ImageList"] = new SelectList(BuildImageList(img.StoredFilename), "Value", "Text", img.StoredFilename);
                        if (!String.IsNullOrEmpty(selectedfile))
                            ViewData["ImageUrl"] = selectedfile;
                        else
                            ViewData["ImageUrl"] = firstfile;

                        int accountid = 0;
                        if (Session["UserAccountID"] != null)
                            accountid = Convert.ToInt32(Session["UserAccountID"]);
                        ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        return View(screen);
                    }
                    else
                    {
                        repository.UpdateScreen(screen);

                        CommonMethods.CreateActivityLog((User)Session["User"], "Screen", "Wizard Step 3",
                            "Step 3 '" + screen.ScreenName + "' - ID: " + screen.ScreenID.ToString());

                        if (screen.IsInteractive)
                            return RedirectToAction("Step4", new { id = screen.ScreenID });
                        else
                            return RedirectToAction("Index", "Screen");
                    }
                }

                return View(screen);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("ScreenWizard", "Step 3 POST", ex.Message);
                return RedirectToAction("Index", "ApplicationError");
            }
        }
Пример #18
0
        //
        // GET: /ScreenContent/

        public ActionResult Index()
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                // Initialize or get the page state using session
                ScreenContentPageState pagestate = GetPageState();

                // Get the account id
                int accountid = 0;
                if (Session["UserAccountID"] != null)
                {
                    accountid = Convert.ToInt32(Session["UserAccountID"]);
                }

                // Set and save the page state to the submitted form values if any values are passed
                if (Request.Form["lstAscDesc"] != null)
                {
                    pagestate.AccountID           = accountid;
                    pagestate.ScreenContentName   = Request.Form["txtScreenContentName"].ToString().Trim();
                    pagestate.ScreenContentTypeID = Convert.ToInt32(Request.Form["lstScreenContentTypeList"]);
                    if (Request.Form["chkIncludeInactive"].ToLower().StartsWith("true"))
                    {
                        pagestate.IncludeInactive = true;
                    }
                    else
                    {
                        pagestate.IncludeInactive = false;
                    }
                    pagestate.SortBy     = Request.Form["lstSortBy"].ToString().Trim();
                    pagestate.AscDesc    = Request.Form["lstAscDesc"].ToString().Trim();
                    pagestate.PageNumber = Convert.ToInt32(Request.Form["txtPageNumber"].ToString().Trim());
                    SavePageState(pagestate);
                }

                // Add the session values to the view data so they can be populated in the form
                ViewData["AccountID"]           = pagestate.AccountID;
                ViewData["ScreenContentName"]   = pagestate.ScreenContentName;
                ViewData["ScreenContentTypeID"] = pagestate.ScreenContentTypeID;
                ViewData["IncludeInactive"]     = pagestate.IncludeInactive;
                ViewData["SortBy"]                = pagestate.SortBy;
                ViewData["SortByList"]            = new SelectList(BuildSortByList(), "Value", "Text", pagestate.SortBy);
                ViewData["AscDescList"]           = new SelectList(BuildAscDescList(), "Value", "Text", pagestate.AscDesc);
                ViewData["ScreenContentTypeList"] = new SelectList(BuildScreenContentTypeList(true), "Value", "Text", pagestate.ScreenContentTypeID);

                // Determine asc/desc
                bool isdescending = false;
                if (pagestate.AscDesc.ToLower().StartsWith("d"))
                {
                    isdescending = true;
                }

                // Get a Count of all filtered records
                int recordcount = repository.GetScreenContentRecordCount(pagestate.AccountID, pagestate.ScreenContentName, pagestate.ScreenContentTypeID, pagestate.IncludeInactive);

                // Determine the page count
                int pagecount = 1;
                if (recordcount > 0)
                {
                    pagecount = recordcount / Constants.PageSize;
                    if (recordcount % Constants.PageSize != 0) // Add a page if there are more records
                    {
                        pagecount = pagecount + 1;
                    }
                }

                // Make sure the current page is not greater than the page count
                if (pagestate.PageNumber > pagecount)
                {
                    pagestate.PageNumber = pagecount;
                    SavePageState(pagestate);
                }

                // Set the page number and account in viewdata
                ViewData["PageNumber"]  = Convert.ToString(pagestate.PageNumber);
                ViewData["PageCount"]   = Convert.ToString(pagecount);
                ViewData["RecordCount"] = Convert.ToString(recordcount);

                // Set the image folder
                ViewData["ImageFolder"] = @"~/Media/" + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                // Need to return the stored filename and content type name
                IEnumerable <ScreenContent>  screencontents = repository.GetScreenContentPage(pagestate.AccountID, pagestate.ScreenContentName, pagestate.ScreenContentTypeID, pagestate.IncludeInactive, pagestate.SortBy, isdescending, pagestate.PageNumber, pagecount);
                IScreenContentTypeRepository sctrep         = new EntityScreenContentTypeRepository();
                IImageRepository             imgrep         = new EntityImageRepository();
                List <ScreenContentView>     contentviews   = new List <ScreenContentView>();
                foreach (ScreenContent screencontent in screencontents)
                {
                    ScreenContentView contentview = new ScreenContentView();
                    contentview.ScreenContentID     = screencontent.ScreenContentID;
                    contentview.AccountID           = screencontent.AccountID;
                    contentview.ScreenContentTypeID = screencontent.ScreenContentTypeID;
                    ScreenContentType sctype = sctrep.GetScreenContentType(screencontent.ScreenContentTypeID);
                    contentview.ScreenContentTypeName = sctype.ScreenContentTypeName;
                    contentview.ScreenContentName     = screencontent.ScreenContentName;
                    contentview.ScreenContentTitle    = screencontent.ScreenContentTitle;
                    contentview.ThumbnailImageID      = screencontent.ThumbnailImageID;
                    Image img = imgrep.GetImage(screencontent.ThumbnailImageID);
                    contentview.StoredFilename = img.StoredFilename;
                    contentview.CustomField1   = screencontent.CustomField1;
                    contentview.CustomField2   = screencontent.CustomField2;
                    contentview.CustomField3   = screencontent.CustomField3;
                    contentview.CustomField4   = screencontent.CustomField4;
                    contentview.IsActive       = screencontent.IsActive;
                    contentviews.Add(contentview);
                }

                ViewResult result = View(contentviews);
                result.ViewName = "Index";
                return(result);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("ScreenContent", "Index", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #19
0
        public ActionResult Edit(ScreenContent screencontent)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    screencontent = FillNulls(screencontent);

                    screencontent.AccountID           = Convert.ToInt32(Session["UserAccountID"]);
                    screencontent.ScreenContentTypeID = Convert.ToInt32(Request.Form["lstScreenContentTypeList"]);

                    IImageRepository imgrep = new EntityImageRepository();
                    Image            img    = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), Request.Form["lstImage"]);
                    if (img != null)
                    {
                        screencontent.ThumbnailImageID = img.ImageID;
                    }
                    else
                    {
                        screencontent.ThumbnailImageID = 0;
                    }

                    string validation = ValidateInput(screencontent);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"]     = validation;
                        ViewData["ImageList"]             = new SelectList(BuildThumbnailImageList(Request.Form["lstImage"]), "Value", "Text", Request.Form["lstImage"]);
                        ViewData["ImageUrl"]              = selectedfile;
                        ViewData["ScreenContentTypeList"] = new SelectList(BuildScreenContentTypeList(false), "Value", "Text", Request.Form["lstScreenContentTypeList"]);

                        ViewData["ScreenContentImages"]     = new SelectList(BuildImageList(0), "Value", "Text", Request.Form["lstScreenContentImages"]);
                        ViewData["ScreenContentSlideShows"] = new SelectList(BuildSlideShowList(0), "Value", "Text", Request.Form["lstScreenContentSlideShows"]);
                        ViewData["ScreenContentVideos"]     = new SelectList(BuildVideoList(0), "Value", "Text", Request.Form["lstScreenContentVideos"]);
                        ViewData["ScreenContentPlayLists"]  = new SelectList(BuildPlayListList(0), "Value", "Text", Request.Form["lstScreenContentPlayLists"]);
                        ViewData["ScreenContentSurveys"]    = new SelectList(BuildSurveyList(0), "Value", "Text", "");
                        ViewData["ScreenContentTimelines"]  = new SelectList(BuildTimelineList(0), "Value", "Text", Request.Form["lstScreenContentTimelines"]);

                        ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        return(View(screencontent));
                    }
                    else
                    {
                        int screencontenttypeid = Convert.ToInt32(Request.Form["lstScreenContentTypeList"]);
                        if (screencontenttypeid == 1000000)
                        {
                            screencontent.CustomField1 = Request.Form["lstScreenContentImages"];
                        }
                        else if (screencontenttypeid == 1000001)
                        {
                            screencontent.CustomField1 = Request.Form["lstScreenContentSlideShows"];
                        }
                        else if (screencontenttypeid == 1000002)
                        {
                            screencontent.CustomField1 = Request.Form["lstScreenContentVideos"];
                        }
                        else if (screencontenttypeid == 1000003)
                        {
                            screencontent.CustomField1 = Request.Form["lstScreenContentPlayLists"];
                        }
                        else if (screencontenttypeid == 1000007)
                        {
                            screencontent.CustomField1 = Request.Form["lstScreenContentSurveys"];
                        }
                        else if (screencontenttypeid == 1000008)
                        {
                            screencontent.CustomField1 = Request.Form["lstScreenContentTimelines"];
                        }

                        repository.UpdateScreenContent(screencontent);

                        CommonMethods.CreateActivityLog((User)Session["User"], "Screen Content", "Edit",
                                                        "Edited screen content '" + screencontent.ScreenContentName + "' - ID: " + screencontent.ScreenContentID.ToString());

                        return(RedirectToAction("Index"));
                    }
                }

                return(View(screencontent));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("ScreenContent", "Edit POST", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #20
0
        //
        // GET: /ScreenContent/Edit/5

        public ActionResult Edit(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                ScreenContent screencontent = repository.GetScreenContent(id);
                ViewData["ValidationMessage"] = String.Empty;

                IImageRepository imgrep = new EntityImageRepository();
                Image            img    = imgrep.GetImage(screencontent.ThumbnailImageID);
                ViewData["ImageList"]             = new SelectList(BuildThumbnailImageList(img.StoredFilename), "Value", "Text", img.StoredFilename);
                ViewData["ImageUrl"]              = selectedfile;
                ViewData["ScreenContentTypeList"] = new SelectList(BuildScreenContentTypeList(false), "Value", "Text", screencontent.ScreenContentTypeID);

                int currentimageid     = 0;
                int currentslideshowid = 0;
                int currentvideoid     = 0;
                int currentplaylistid  = 0;
                int currentsurveyid    = 0;
                int currenttimelineid  = 0;

                if (screencontent.ScreenContentTypeID == 1000000)
                {
                    currentimageid = Convert.ToInt32(screencontent.CustomField1);
                }
                else if (screencontent.ScreenContentTypeID == 1000001)
                {
                    currentslideshowid = Convert.ToInt32(screencontent.CustomField1);
                }
                else if (screencontent.ScreenContentTypeID == 1000002)
                {
                    currentvideoid = Convert.ToInt32(screencontent.CustomField1);
                }
                else if (screencontent.ScreenContentTypeID == 1000003)
                {
                    currentplaylistid = Convert.ToInt32(screencontent.CustomField1);
                }
                else if (screencontent.ScreenContentTypeID == 1000007)
                {
                    currentsurveyid = Convert.ToInt32(screencontent.CustomField1);
                }
                else if (screencontent.ScreenContentTypeID == 1000008)
                {
                    currenttimelineid = Convert.ToInt32(screencontent.CustomField1);
                }

                ViewData["ScreenContentImages"]     = new SelectList(BuildImageList(currentimageid), "Value", "Text", "");
                ViewData["ScreenContentSlideShows"] = new SelectList(BuildSlideShowList(currentslideshowid), "Value", "Text", "");
                ViewData["ScreenContentVideos"]     = new SelectList(BuildVideoList(currentvideoid), "Value", "Text", "");
                ViewData["ScreenContentPlayLists"]  = new SelectList(BuildPlayListList(currentplaylistid), "Value", "Text", "");
                ViewData["ScreenContentSurveys"]    = new SelectList(BuildSurveyList(currentsurveyid), "Value", "Text", "");
                ViewData["ScreenContentTimelines"]  = new SelectList(BuildTimelineList(currenttimelineid), "Value", "Text", "");

                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                return(View(screencontent));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("ScreenContent", "Edit", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #21
0
        public ActionResult Edit(Screen screen)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    screen             = FillNulls(screen);
                    screen.SlideShowID = Convert.ToInt32(Request.Form["lstSlideShow"]);
                    screen.PlayListID  = Convert.ToInt32(Request.Form["lstPlayList"]);
                    string buttonimageguid = Request.Form["lstButtonImage"];

                    IImageRepository imgrep = new EntityImageRepository();
                    Image            img    = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), buttonimageguid);
                    if (img != null)
                    {
                        screen.ButtonImageID = img.ImageID;
                    }
                    else
                    {
                        screen.ButtonImageID = 0;
                    }

                    string validation = ValidateInput(screen);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"] = validation;
                        ViewData["ImageList"]         = new SelectList(BuildImageList(Request.Form["lstButtonImage"]), "Value", "Text", Request.Form["lstButtonImage"]);
                        ViewData["ImageUrl"]          = selectedfile;
                        ViewData["SlideShowList"]     = new SelectList(BuildSlideShowList(), "Value", "Text", Request.Form["lstSlideShow"]);
                        ViewData["PlayListList"]      = new SelectList(BuildPlayListList(), "Value", "Text", Request.Form["lstPlayList"]);

                        int accountid = 0;
                        if (Session["UserAccountID"] != null)
                        {
                            accountid = Convert.ToInt32(Session["UserAccountID"]);
                        }
                        ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        return(View(screen));
                    }
                    else
                    {
                        // Update the screen
                        repository.UpdateScreen(screen);

                        CommonMethods.CreateActivityLog((User)Session["User"], "Screen", "Edit",
                                                        "Edited screen '" + screen.ScreenName + "' - ID: " + screen.ScreenID.ToString());

                        IScreenScreenContentXrefRepository xrefrep = new EntityScreenScreenContentXrefRepository();

                        // Delete existing xrefs for the screen
                        xrefrep.DeleteScreenScreenContentXrefs(screen.ScreenID);

                        // Create a xref for each screen content in the screen
                        IScreenScreenContentXrefRepository sscrep = new EntityScreenScreenContentXrefRepository();
                        string[] ids = Request.Form["txtScreenScreenContent"].ToString().Split('|');
                        int      i   = 1;
                        foreach (string id in ids)
                        {
                            if (!String.IsNullOrEmpty(id.Trim()))
                            {
                                ScreenScreenContentXref ssc = new ScreenScreenContentXref();
                                ssc.DisplayOrder    = i;
                                ssc.ScreenID        = screen.ScreenID;
                                ssc.ScreenContentID = Convert.ToInt32(id);
                                sscrep.CreateScreenScreenContentXref(ssc);
                                i += 1;
                            }
                        }

                        return(RedirectToAction("Index"));
                    }
                }

                return(View(screen));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Screen", "Edit POST", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #22
0
        public ActionResult Step3(Screen screen)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                {
                    return(RedirectToAction("Validate", "Login"));
                }
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                {
                    ViewData["txtIsAdmin"] = "true";
                }
                else
                {
                    ViewData["txtIsAdmin"] = "false";
                }

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    screen           = FillNulls(screen);
                    screen.AccountID = Convert.ToInt32(Session["UserAccountID"]);

                    string buttonimageguid = Request.Form["lstButtonImage"];

                    IImageRepository imgrep = new EntityImageRepository();
                    Image            img    = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), buttonimageguid);
                    if (img != null)
                    {
                        screen.ButtonImageID = img.ImageID;
                    }
                    else
                    {
                        screen.ButtonImageID = 0;
                    }

                    string validation = ValidateInput(screen);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"] = validation;
                        ViewData["ScreenID"]          = screen.ScreenID;
                        if (img == null)
                        {
                            ViewData["ImageList"] = new SelectList(BuildImageList(""), "Value", "Text", "");
                        }
                        else
                        {
                            ViewData["ImageList"] = new SelectList(BuildImageList(img.StoredFilename), "Value", "Text", img.StoredFilename);
                        }
                        if (!String.IsNullOrEmpty(selectedfile))
                        {
                            ViewData["ImageUrl"] = selectedfile;
                        }
                        else
                        {
                            ViewData["ImageUrl"] = firstfile;
                        }

                        int accountid = 0;
                        if (Session["UserAccountID"] != null)
                        {
                            accountid = Convert.ToInt32(Session["UserAccountID"]);
                        }
                        ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        return(View(screen));
                    }
                    else
                    {
                        repository.UpdateScreen(screen);

                        CommonMethods.CreateActivityLog((User)Session["User"], "Screen", "Wizard Step 3",
                                                        "Step 3 '" + screen.ScreenName + "' - ID: " + screen.ScreenID.ToString());

                        if (screen.IsInteractive)
                        {
                            return(RedirectToAction("Step4", new { id = screen.ScreenID }));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Screen"));
                        }
                    }
                }

                return(View(screen));
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("ScreenWizard", "Step 3 POST", ex.Message);
                return(RedirectToAction("Index", "ApplicationError"));
            }
        }
Пример #23
0
        public ActionResult Edit(Survey survey)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                    return RedirectToAction("Validate", "Login");
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                    ViewData["txtIsAdmin"] = "true";
                else
                    ViewData["txtIsAdmin"] = "false";

                if (ModelState.IsValid)
                {
                    // Set NULLs to Empty Strings
                    survey = FillNulls(survey);

                    IImageRepository imgrep = new EntityImageRepository();
                    Image img = imgrep.GetImageByGuid(Convert.ToInt32(Session["UserAccountID"]), Request.Form["lstImage"]);
                    if (img != null)
                        survey.SurveyImageID = img.ImageID;
                    else
                        survey.SurveyImageID = 0;

                    string validation = ValidateInput(survey);
                    if (!String.IsNullOrEmpty(validation))
                    {
                        ViewData["ValidationMessage"] = validation;
                        ViewData["ImageList"] = new SelectList(BuildImageList(Request.Form["lstImage"]), "Value", "Text", Request.Form["lstImage"]);
                        ViewData["ImageUrl"] = selectedfile;
                        ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                        ViewData["SurveyTable"] = BuildSurveyTable(survey);
                        return View(survey);
                    }

                    repository.UpdateSurvey(survey);

                    CommonMethods.CreateActivityLog((User)Session["User"], "Survey", "Edit",
                                                    "Edited survey '" + survey.SurveyName + "' - ID: " + survey.SurveyID.ToString());

                    return RedirectToAction("Index");
                }

                return View(survey);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Survey", "Edit POST", ex.Message);
                return RedirectToAction("Index", "ApplicationError");
            }
        }
Пример #24
0
        public void CreateExampleData(int accountid)
        {
            try
            {
                List<Image> newimages = new List<Image>();
                bool createimages = true;
                bool createvideos = true;
                bool createmusics = true;

                IImageRepository imagerep = new EntityImageRepository();
                IEnumerable<Image> images = imagerep.GetAllImages(accountid);
                foreach (Image image in images)
                {
                    if (
                            image.StoredFilename.ToLower() == "60255096-6a72-409e-b905-4d98ee717bb0.jpg".ToLower() ||
                            image.StoredFilename.ToLower() == "612bb76c-e16e-4fe8-87f2-bddc7eb59300.jpg".ToLower() ||
                            image.StoredFilename.ToLower() == "626c6a35-4523-46aa-9d0a-c2687b581e27.jpg".ToLower() ||
                            image.StoredFilename.ToLower() == "69f99c47-d1b0-4123-b62b-8f18bdc5702f.jpg".ToLower() 
                        )
                    {
                        newimages.Add(image);
                        createimages = false;
                    }
                }

                IVideoRepository videorep = new EntityVideoRepository();
                IEnumerable<Video> videos = videorep.GetAllVideos(accountid);
                foreach (Video video in videos)
                {
                    if (video.StoredFilename.ToLower() == "0EBC6160-CA2C-4497-960C-0A2C2DE7B380.mp4".ToLower())
                        createvideos = false;
                }

                IMusicRepository musicrep = new EntityMusicRepository();
                IEnumerable<Music> musics = musicrep.GetAllMusics(accountid);
                foreach (Music music in musics)
                {
                    if (music.StoredFilename.ToLower() == "1B36982F-4101-4D38-AF20-FAD88A0FA9B5.mp3".ToLower())
                        createmusics = false;
                }

                // Initialize the example data for a new account so there is data available
                if (createimages) 
                    newimages = CreateExampleImageAndSlideShowData(accountid); // Also creates screen, default playergroup, and schedule
                if (createvideos) 
                    CreateExampleVideoAndPlayListData(accountid);
                if (createmusics) 
                    CreateExampleMusicAndTimelineData(accountid, newimages);
            }
            catch { }
        }
Пример #25
0
        //
        // GET: /Screen/Edit/5

        public ActionResult Edit(int id)
        {
            try
            {
                if (Session["UserAccountID"] == null)
                    return RedirectToAction("Validate", "Login");
                User user = (User)Session["User"];
                ViewData["LoginInfo"] = Utility.BuildUserAccountString(user.Username, Convert.ToString(Session["UserAccountName"]));
                if (user.IsAdmin)
                    ViewData["txtIsAdmin"] = "true";
                else
                    ViewData["txtIsAdmin"] = "false";

                Screen screen = repository.GetScreen(id);

                ViewData["ValidationMessage"] = String.Empty;
                IImageRepository imgrep = new EntityImageRepository();
                Image img = imgrep.GetImage(screen.ButtonImageID);
                ViewData["ImageList"] = new SelectList(BuildImageList(img.StoredFilename), "Value", "Text", img.StoredFilename);
                ViewData["ImageUrl"] = selectedfile;
                ViewData["SlideShowList"] = new SelectList(BuildSlideShowList(), "Value", "Text", screen.SlideShowID);
                ViewData["PlayListList"] = new SelectList(BuildPlayListList(), "Value", "Text", screen.PlayListID);
                ViewData["ScreenContentList"] = new SelectList(BuildScreenContentList(), "Value", "Text", "");
                ViewData["ScreenScreenContentList"] = new SelectList(BuildScreenScreenContentList(screen.ScreenID), "Value", "Text", "");

                // Get the content ids for the screen
                string ids = String.Empty;
                IScreenScreenContentXrefRepository sscrep = new EntityScreenScreenContentXrefRepository();
                IEnumerable<ScreenScreenContentXref> sscs = sscrep.GetScreenScreenContentXrefs(screen.ScreenID);
                foreach (ScreenScreenContentXref ssc in sscs)
                {
                    ids += "|" + ssc.ScreenContentID.ToString();
                }
                ViewData["ScreenScreenContent"] = ids;

                int accountid = 0;
                if (Session["UserAccountID"] != null)
                    accountid = Convert.ToInt32(Session["UserAccountID"]);
                ViewData["ImageFolder"] = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

                return View(screen);
            }
            catch (Exception ex)
            {
                Helpers.SetupApplicationError("Screen", "Edit", ex.Message);
                return RedirectToAction("Index", "ApplicationError");
            }
        }
Пример #26
0
        private Image CreateExampleImage(int accountid, string imagename, string originalfilename, string storedfilename, string tags)
        {
            try
            {
                string sourceimage = HttpContext.Current.Server.MapPath(@"~/ExampleImages/" + storedfilename);
                string newimage = HttpContext.Current.Server.MapPath(@"~/Media");
                if (!newimage.EndsWith(@"\"))
                    newimage += @"\";
                System.IO.Directory.CreateDirectory(newimage + Convert.ToString(accountid) + @"\Images\");
                newimage += Convert.ToString(accountid) + @"\Images\" + storedfilename;

                if (!System.IO.File.Exists(newimage))
                    System.IO.File.Copy(sourceimage, newimage);

                IImageRepository imagerep = new EntityImageRepository();

                Image image = imagerep.GetImageByGuid(accountid, storedfilename);

                if (image == null || image.ImageID == 0)
                {
                    image = new Image();
                    image.AccountID = accountid;
                    image.ImageName = imagename;
                    image.OriginalFilename = originalfilename;
                    image.StoredFilename = storedfilename;
                    image.Tags = tags;
                    image.IsActive = true;
                    imagerep.CreateImage(image);
                }

                return image;
            }
            catch { return null; }
        }
Пример #27
0
        private List<SelectListItem> BuildImageList(string currentfile)
        {
            // Get the account id
            int accountid = 0;
            if (Session["UserAccountID"] != null)
                accountid = Convert.ToInt32(Session["UserAccountID"]);

            // Get the active images
            IImageRepository imgrep = new EntityImageRepository();
            IEnumerable<Image> imgs = imgrep.GetAllImages(accountid);

            string imagefolder = ConfigurationManager.AppSettings["MediaRootFolder"] + Convert.ToString(Session["UserAccountID"]) + @"/Images/";

            List<SelectListItem> items = new List<SelectListItem>();
            bool first = true;
            foreach (Image img in imgs)
            {
                if (first)
                {
                    first = false;
                    firstfile = imagefolder + img.StoredFilename;
                }

                SelectListItem item = new SelectListItem();
                item.Text = img.ImageName;
                item.Value = img.StoredFilename;
                if (item.Value == currentfile)
                    selectedfile = imagefolder + img.StoredFilename;

                items.Add(item);
            }

            return items;
        }
Пример #28
0
        public string Player_GetCurrentSchedule(int playerid)
        {
            try
            {
                IImageRepository  imagerep  = new EntityImageRepository();
                IPlayerRepository playerrep = new EntityPlayerRepository();
                IPlayerGroupScheduleRepository     playergroupschedulerep     = new EntityPlayerGroupScheduleRepository();
                IPlayListRepository                playlistrep                = new EntityPlayListRepository();
                IPlayListVideoXrefRepository       playlistvideoxrefrep       = new EntityPlayListVideoXrefRepository();
                IScreenScreenContentXrefRepository screenscreencontentxrefrep = new EntityScreenScreenContentXrefRepository();
                IScreenContentRepository           screencontentrep           = new EntityScreenContentRepository();
                IScreenContentTypeRepository       screencontenttyperep       = new EntityScreenContentTypeRepository();
                IScreenRepository               screenrep               = new EntityScreenRepository();
                ISlideShowRepository            slideshowrep            = new EntitySlideShowRepository();
                ISlideShowImageXrefRepository   slideshowimagexrefrep   = new EntitySlideShowImageXrefRepository();
                ISlideShowMusicXrefRepository   slideshowmusicxrefrep   = new EntitySlideShowMusicXrefRepository();
                ITimelineRepository             timelinerep             = new EntityTimelineRepository();
                ITimelineImageXrefRepository    timelineimagexrefrep    = new EntityTimelineImageXrefRepository();
                ITimelineVideoXrefRepository    timelinevideoxrefrep    = new EntityTimelineVideoXrefRepository();
                ITimelineMusicXrefRepository    timelinemusicxrefrep    = new EntityTimelineMusicXrefRepository();
                ISurveyRepository               surveyrep               = new EntitySurveyRepository();
                ISurveyQuestionRepository       surveyquestionrep       = new EntitySurveyQuestionRepository();
                ISurveyQuestionOptionRepository surveyquestionoptionrep = new EntitySurveyQuestionOptionRepository();
                IVideoRepository         videorep         = new EntityVideoRepository();
                IMusicRepository         musicrep         = new EntityMusicRepository();
                IPlayerSettingRepository playersettingrep = new EntityPlayerSettingRepository();
                IPlayerSettingSystemDefaultRepository  playersettingsystemrep  = new EntityPlayerSettingSystemDefaultRepository();
                IPlayerSettingAccountDefaultRepository playersettingaccountrep = new EntityPlayerSettingAccountDefaultRepository();

                // returns the summarized schedule information for the player
                List <Image> images = new List <Image>();
                List <PlayerGroupSchedule>     playergroupschedules     = new List <PlayerGroupSchedule>();
                List <PlayList>                playlists                = new List <PlayList>();
                List <PlayListVideoXref>       playlistvideoxrefs       = new List <PlayListVideoXref>();
                List <ScreenContent>           screencontents           = new List <ScreenContent>();
                List <ScreenScreenContentXref> screenscreencontentxrefs = new List <ScreenScreenContentXref>();
                List <Screen>               screens               = new List <Screen>();
                List <SlideShow>            slideshows            = new List <SlideShow>();
                List <SlideShowImageXref>   slideshowimagexrefs   = new List <SlideShowImageXref>();
                List <SlideShowMusicXref>   slideshowmusicxrefs   = new List <SlideShowMusicXref>();
                List <Timeline>             timelines             = new List <Timeline>();
                List <TimelineImageXref>    timelineimagexrefs    = new List <TimelineImageXref>();
                List <TimelineVideoXref>    timelinevideoxrefs    = new List <TimelineVideoXref>();
                List <TimelineMusicXref>    timelinemusicxrefs    = new List <TimelineMusicXref>();
                List <Survey>               surveys               = new List <Survey>();
                List <SurveyQuestion>       surveyquestions       = new List <SurveyQuestion>();
                List <SurveyQuestionOption> surveyquestionoptions = new List <SurveyQuestionOption>();
                List <Video> videos = new List <Video>();
                List <Music> musics = new List <Music>();

                StringBuilder sb = new StringBuilder();
                sb.Append("<xml>");

                // Player Schedule Info --------------------------------------------------------------------------------------

                // Get the PlayerGroupID - Player should only exist in one Player Group
                Player player = playerrep.GetPlayer(playerid);
                if (player == null)
                {
                    throw new Exception("No player found.");
                }

                // Get the PlayerGroupSchedule for this player
                playergroupschedules = playergroupschedulerep.GetPlayerGroupSchedulesByPlayerGroup(player.PlayerGroupID).ToList();
                if (playergroupschedules == null || playergroupschedules.Count == 0)
                {
                    throw new Exception("No schedule found for this player.");
                }

                sb.Append("<PlayerGroupSchedules>");
                foreach (PlayerGroupSchedule playergroupschedule in playergroupschedules)
                {
                    sb.Append("<PlayerGroupSchedule ");
                    sb.Append("PlayerGroupScheduleID=\"" + playergroupschedule.PlayerGroupScheduleID.ToString() + "\" ");
                    sb.Append("PlayerGroupID=\"" + playergroupschedule.PlayerGroupID.ToString() + "\" ");
                    sb.Append("ScreenID=\"" + playergroupschedule.ScreenID.ToString() + "\" ");
                    sb.Append("Day=\"" + playergroupschedule.Day.ToString() + "\" ");
                    sb.Append("Hour=\"" + playergroupschedule.Hour.ToString() + "\" ");
                    sb.Append("Minute=\"" + playergroupschedule.Minute.ToString() + "\" ");
                    sb.Append(" />");

                    // Add the screen to the screens list
                    if (playergroupschedule.ScreenID > 0)
                    {
                        screens.Add(screenrep.GetScreen(playergroupschedule.ScreenID));
                    }
                }
                sb.Append("</PlayerGroupSchedules>");

                // Screens --------------------------------------------------------------------------------------
                screens = screens.Distinct().ToList();
                sb.Append("<Screens>");
                foreach (Screen screen in screens)
                {
                    sb.Append("<Screen ");
                    sb.Append("ScreenID=\"" + screen.ScreenID.ToString() + "\" ");
                    sb.Append("AccountID=\"" + screen.AccountID.ToString() + "\" ");
                    sb.Append("ScreenName=\"" + Utility.EncodeXMLString(screen.ScreenName) + "\" ");
                    sb.Append("SlideShowID=\"" + screen.SlideShowID.ToString() + "\" ");
                    sb.Append("PlayListID=\"" + screen.PlayListID.ToString() + "\" ");
                    sb.Append("TimelineID=\"" + screen.TimelineID.ToString() + "\" ");
                    string interactive = "true";
                    if (!screen.IsInteractive)
                    {
                        interactive = "false";
                    }
                    sb.Append("IsInteractive=\"" + interactive + "\" ");
                    sb.Append("ButtonImageID=\"" + screen.ButtonImageID.ToString() + "\" ");
                    sb.Append(" />");

                    // Save the SlideShow
                    if (screen.SlideShowID != 0)
                    {
                        slideshows.Add(slideshowrep.GetSlideShow(screen.SlideShowID));
                    }

                    // Save the PlayList
                    if (screen.PlayListID != 0)
                    {
                        playlists.Add(playlistrep.GetPlayList(screen.PlayListID));
                    }

                    // Save the Timeline
                    if (screen.TimelineID != 0)
                    {
                        timelines.Add(timelinerep.GetTimeline(screen.TimelineID));
                    }

                    // Save the screen button image
                    if (screen.ButtonImageID != 0)
                    {
                        images.Add(imagerep.GetImage(screen.ButtonImageID));
                    }

                    // Save the ScreenContentXrefs
                    List <ScreenScreenContentXref> sscxrefs = screenscreencontentxrefrep.GetScreenScreenContentXrefs(screen.ScreenID).ToList();
                    foreach (ScreenScreenContentXref sscxref in sscxrefs)
                    {
                        // Save to the xref
                        screenscreencontentxrefs.Add(sscxref);
                    }
                }
                sb.Append("</Screens>");


                // ScreenScreenContentXrefs -----------------------------------------------------------------------------
                sb.Append("<ScreenScreenContentXrefs>");
                foreach (ScreenScreenContentXref sscxref in screenscreencontentxrefs)
                {
                    sb.Append("<ScreenScreenContentXref ");
                    sb.Append("ScreenScreenContentXrefID=\"" + sscxref.ScreenScreenContentXrefID.ToString() + "\" ");
                    sb.Append("ScreenID=\"" + sscxref.ScreenID.ToString() + "\" ");
                    sb.Append("ScreenContentID=\"" + sscxref.ScreenContentID.ToString() + "\" ");
                    sb.Append("DisplayOrder=\"" + sscxref.DisplayOrder.ToString() + "\" ");
                    sb.Append(" />");

                    // Save the screen content
                    screencontents.Add(screencontentrep.GetScreenContent(sscxref.ScreenContentID));
                }
                sb.Append("</ScreenScreenContentXrefs>");


                // ScreenContents -------------------------------------------------------------------------------------
                screencontents = screencontents.Distinct().ToList();
                sb.Append("<ScreenContents>");
                foreach (ScreenContent sc in screencontents)
                {
                    ScreenContentType sctype = screencontenttyperep.GetScreenContentType(sc.ScreenContentTypeID);

                    sb.Append("<ScreenContent ");
                    sb.Append("ScreenContentID=\"" + sc.ScreenContentID.ToString() + "\" ");
                    sb.Append("ScreenContentTypeID=\"" + sc.ScreenContentTypeID.ToString() + "\" ");
                    sb.Append("ScreenContentTypeName=\"" + Utility.EncodeXMLString(sctype.ScreenContentTypeName) + "\" ");
                    sb.Append("ScreenContentName=\"" + Utility.EncodeXMLString(sc.ScreenContentName) + "\" ");
                    sb.Append("ScreenContentTitle=\"" + Utility.EncodeXMLString(sc.ScreenContentTitle) + "\" ");
                    sb.Append("ThumbnailImageID=\"" + sc.ThumbnailImageID.ToString() + "\" ");
                    sb.Append("CustomField1=\"" + Utility.EncodeXMLString(sc.CustomField1) + "\" ");
                    sb.Append("CustomField2=\"" + Utility.EncodeXMLString(sc.CustomField2) + "\" ");
                    sb.Append("CustomField3=\"" + Utility.EncodeXMLString(sc.CustomField3) + "\" ");
                    sb.Append("CustomField4=\"" + Utility.EncodeXMLString(sc.CustomField4) + "\" ");
                    sb.Append(" />");

                    // Add the Thumbnail Image
                    if (sc.ThumbnailImageID != 0)
                    {
                        images.Add(imagerep.GetImage(sc.ThumbnailImageID));
                    }

                    // If Image, add the image
                    if (sc.ScreenContentTypeID == 1000000 && !String.IsNullOrEmpty(sc.CustomField1))
                    {
                        images.Add(imagerep.GetImage(Convert.ToInt32(sc.CustomField1)));
                    }

                    // If Slideshow, add the slideshow
                    if (sc.ScreenContentTypeID == 1000001 && !String.IsNullOrEmpty(sc.CustomField1))
                    {
                        slideshows.Add(slideshowrep.GetSlideShow(Convert.ToInt32(sc.CustomField1)));
                    }

                    // If Video, add the video
                    if (sc.ScreenContentTypeID == 1000002 && !String.IsNullOrEmpty(sc.CustomField1))
                    {
                        videos.Add(videorep.GetVideo(Convert.ToInt32(sc.CustomField1)));
                    }

                    // If PlayList, add the playlist
                    if (sc.ScreenContentTypeID == 1000003 && !String.IsNullOrEmpty(sc.CustomField1))
                    {
                        playlists.Add(playlistrep.GetPlayList(Convert.ToInt32(sc.CustomField1)));
                    }

                    // If Survey, add the survey and its image
                    if (sc.ScreenContentTypeID == 1000007 && !String.IsNullOrEmpty(sc.CustomField1))
                    {
                        Survey survey = surveyrep.GetSurvey(Convert.ToInt32(sc.CustomField1));
                        images.Add(imagerep.GetImage(survey.SurveyImageID));
                        surveys.Add(survey);
                    }
                }
                sb.Append("</ScreenContents>");


                // Surveys ---------------------------------------------------------------------------------
                surveys = surveys.Distinct().ToList();
                sb.Append("<Surveys>");
                foreach (Survey sv in surveys)
                {
                    sb.Append("<Survey ");
                    sb.Append("SurveyID=\"" + sv.SurveyID + "\" ");
                    sb.Append("SurveyName=\"" + Utility.EncodeXMLString(sv.SurveyName) + "\" ");
                    sb.Append("SurveyImageID=\"" + sv.SurveyImageID + "\" ");
                    sb.Append(" />");

                    List <SurveyQuestion> svqs = surveyquestionrep.GetSurveyQuestions(sv.SurveyID).ToList();
                    foreach (SurveyQuestion svq in svqs)
                    {
                        surveyquestions.Add(svq);
                    }
                }
                sb.Append("</Surveys>");


                // SurveyQuestions ----------------------------------------------------------------------------
                surveyquestions = surveyquestions.Distinct().ToList();
                sb.Append("<SurveyQuestions>");
                foreach (SurveyQuestion svq in surveyquestions)
                {
                    sb.Append("<SurveyQuestion ");
                    sb.Append("SurveyQuestionID=\"" + svq.SurveyQuestionID + "\" ");
                    sb.Append("SurveyID=\"" + svq.SurveyID + "\" ");
                    sb.Append("SurveyQuestionText=\"" + Utility.EncodeXMLString(svq.SurveyQuestionText) + "\" ");
                    sb.Append("AllowMultiselect=\"" + svq.AllowMultiSelect.ToString() + "\" ");
                    sb.Append("SortOrder=\"" + svq.SortOrder.ToString() + "\" ");
                    sb.Append(" />");

                    List <SurveyQuestionOption> svqos = surveyquestionoptionrep.GetSurveyQuestionOptions(svq.SurveyQuestionID).ToList();
                    foreach (SurveyQuestionOption svqo in svqos)
                    {
                        surveyquestionoptions.Add(svqo);
                    }
                }
                sb.Append("</SurveyQuestions>");


                // SurveyQuestionOptions ----------------------------------------------------------------------------
                surveyquestionoptions = surveyquestionoptions.Distinct().ToList();
                sb.Append("<SurveyQuestionOptions>");
                foreach (SurveyQuestionOption svqo in surveyquestionoptions)
                {
                    sb.Append("<SurveyQuestionOption ");
                    sb.Append("SurveyQuestionOptionID=\"" + svqo.SurveyQuestionOptionID + "\" ");
                    sb.Append("SurveyQuestionID=\"" + svqo.SurveyQuestionID + "\" ");
                    sb.Append("SurveyQuestionOptionText=\"" + Utility.EncodeXMLString(svqo.SurveyQuestionOptionText) + "\" ");
                    sb.Append("SortOrder=\"" + svqo.SortOrder.ToString() + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</SurveyQuestionOptions>");


                // SlideShows ---------------------------------------------------------------------------------
                slideshows = slideshows.Distinct().ToList();
                sb.Append("<SlideShows>");
                foreach (SlideShow ss in slideshows)
                {
                    sb.Append("<SlideShow ");
                    sb.Append("SlideShowID=\"" + ss.SlideShowID.ToString() + "\" ");
                    sb.Append("IntervalInSecs=\"" + ss.IntervalInSecs.ToString() + "\" ");
                    sb.Append("TransitionType=\"" + Utility.EncodeXMLString(ss.TransitionType) + "\" ");
                    sb.Append(" />");

                    List <SlideShowImageXref> ssixrefs = slideshowimagexrefrep.GetSlideShowImageXrefs(ss.SlideShowID).ToList();
                    foreach (SlideShowImageXref ssixref in ssixrefs)
                    {
                        slideshowimagexrefs.Add(ssixref);
                    }

                    List <SlideShowMusicXref> ssmxrefs = slideshowmusicxrefrep.GetSlideShowMusicXrefs(ss.SlideShowID).ToList();
                    foreach (SlideShowMusicXref ssmxref in ssmxrefs)
                    {
                        slideshowmusicxrefs.Add(ssmxref);
                    }
                }
                sb.Append("</SlideShows>");


                // SlideshowImageXrefs ---------------------------------------------------------------------------------
                slideshowimagexrefs = slideshowimagexrefs.Distinct().ToList();
                sb.Append("<SlideShowImageXrefs>");
                foreach (SlideShowImageXref ssixref in slideshowimagexrefs)
                {
                    sb.Append("<SlideShowImageXref ");
                    sb.Append("SlideShowImageXrefID=\"" + ssixref.SlideShowImageXrefID.ToString() + "\" ");
                    sb.Append("SlideShowID=\"" + ssixref.SlideShowID.ToString() + "\" ");
                    sb.Append("ImageID=\"" + ssixref.ImageID.ToString() + "\" ");
                    sb.Append("PlayOrder=\"" + ssixref.PlayOrder.ToString() + "\" ");
                    sb.Append(" />");

                    // Add the image
                    images.Add(imagerep.GetImage(ssixref.ImageID));
                }
                sb.Append("</SlideShowImageXrefs>");


                // SlideshowMusicXrefs ---------------------------------------------------------------------------------
                slideshowmusicxrefs = slideshowmusicxrefs.Distinct().ToList();
                sb.Append("<SlideShowMusicXrefs>");
                foreach (SlideShowMusicXref ssmxref in slideshowmusicxrefs)
                {
                    sb.Append("<SlideShowMusicXref ");
                    sb.Append("SlideShowMusicXrefID=\"" + ssmxref.SlideShowMusicXrefID.ToString() + "\" ");
                    sb.Append("SlideShowID=\"" + ssmxref.SlideShowID.ToString() + "\" ");
                    sb.Append("MusicID=\"" + ssmxref.MusicID.ToString() + "\" ");
                    sb.Append("PlayOrder=\"" + ssmxref.PlayOrder.ToString() + "\" ");
                    sb.Append(" />");

                    // Add the music
                    musics.Add(musicrep.GetMusic(ssmxref.MusicID));
                }
                sb.Append("</SlideShowMusicXrefs>");


                // Timelines ---------------------------------------------------------------------------------
                timelines = timelines.Distinct().ToList();
                sb.Append("<Timelines>");
                foreach (Timeline tl in timelines)
                {
                    sb.Append("<Timeline ");
                    sb.Append("TimelineID=\"" + tl.TimelineID.ToString() + "\" ");
                    sb.Append("DurationInSecs=\"" + tl.DurationInSecs.ToString() + "\" ");
                    sb.Append("MuteMusicOnPlayback=\"" + (tl.MuteMusicOnPlayback ? "true": "false") + "\" ");
                    sb.Append(" />");

                    List <TimelineImageXref> tlixrefs = timelineimagexrefrep.GetTimelineImageXrefs(tl.TimelineID).ToList();
                    foreach (TimelineImageXref tlixref in tlixrefs)
                    {
                        timelineimagexrefs.Add(tlixref);
                    }

                    List <TimelineVideoXref> tlvxrefs = timelinevideoxrefrep.GetTimelineVideoXrefs(tl.TimelineID).ToList();
                    foreach (TimelineVideoXref tlvxref in tlvxrefs)
                    {
                        timelinevideoxrefs.Add(tlvxref);
                    }

                    List <TimelineMusicXref> tlmxrefs = timelinemusicxrefrep.GetTimelineMusicXrefs(tl.TimelineID).ToList();
                    foreach (TimelineMusicXref tlmxref in tlmxrefs)
                    {
                        timelinemusicxrefs.Add(tlmxref);
                    }
                }
                sb.Append("</Timelines>");


                // TimelineImageXrefs ---------------------------------------------------------------------------------
                timelineimagexrefs = timelineimagexrefs.Distinct().ToList();
                sb.Append("<TimelineImageXrefs>");
                foreach (TimelineImageXref tlixref in timelineimagexrefs)
                {
                    sb.Append("<TimelineImageXref ");
                    sb.Append("TimelineImageXrefID=\"" + tlixref.TimelineImageXrefID.ToString() + "\" ");
                    sb.Append("TimelineID=\"" + tlixref.TimelineID.ToString() + "\" ");
                    sb.Append("ImageID=\"" + tlixref.ImageID.ToString() + "\" ");
                    sb.Append("DisplayOrder=\"" + tlixref.DisplayOrder.ToString() + "\" ");
                    sb.Append(" />");

                    // Add the image
                    images.Add(imagerep.GetImage(tlixref.ImageID));
                }
                sb.Append("</TimelineImageXrefs>");


                // TimelineMusicXrefs ---------------------------------------------------------------------------------
                timelinemusicxrefs = timelinemusicxrefs.Distinct().ToList();
                sb.Append("<TimelineMusicXrefs>");
                foreach (TimelineMusicXref tlmxref in timelinemusicxrefs)
                {
                    sb.Append("<TimelineMusicXref ");
                    sb.Append("TimelineMusicXrefID=\"" + tlmxref.TimelineMusicXrefID.ToString() + "\" ");
                    sb.Append("TimelineID=\"" + tlmxref.TimelineID.ToString() + "\" ");
                    sb.Append("MusicID=\"" + tlmxref.MusicID.ToString() + "\" ");
                    sb.Append("PlayOrder=\"" + tlmxref.PlayOrder.ToString() + "\" ");
                    sb.Append(" />");

                    // Add the music
                    musics.Add(musicrep.GetMusic(tlmxref.MusicID));
                }
                sb.Append("</TimelineMusicXrefs>");


                // TimelineVideoXrefs ---------------------------------------------------------------------------------
                timelinevideoxrefs = timelinevideoxrefs.Distinct().ToList();
                sb.Append("<TimelineVideoXrefs>");
                foreach (TimelineVideoXref tlvxref in timelinevideoxrefs)
                {
                    sb.Append("<TimelineVideoXref ");
                    sb.Append("TimelineVideoXrefID=\"" + tlvxref.TimelineVideoXrefID.ToString() + "\" ");
                    sb.Append("TimelineID=\"" + tlvxref.TimelineID.ToString() + "\" ");
                    sb.Append("VideoID=\"" + tlvxref.VideoID.ToString() + "\" ");
                    sb.Append("DisplayOrder=\"" + tlvxref.DisplayOrder.ToString() + "\" ");
                    sb.Append(" />");

                    // Add the video
                    videos.Add(videorep.GetVideo(tlvxref.VideoID));
                }
                sb.Append("</TimelineVideoXrefs>");


                // Images ---------------------------------------------------------------------------------
                images = images.Distinct().ToList();
                sb.Append("<Images>");
                foreach (Image image in images)
                {
                    sb.Append("<Image ");
                    sb.Append("ImageID=\"" + image.ImageID.ToString() + "\" ");
                    sb.Append("StoredFilename=\"" + image.StoredFilename + "\" ");
                    sb.Append("ImageName=\"" + Utility.EncodeXMLString(image.ImageName) + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</Images>");


                // PlayLists ---------------------------------------------------------------------------------
                playlists = playlists.Distinct().ToList();
                sb.Append("<PlayLists>");
                foreach (PlayList pl in playlists)
                {
                    sb.Append("<PlayList ");
                    sb.Append("PlayListID=\"" + pl.PlayListID.ToString() + "\" ");
                    sb.Append(" />");

                    List <PlayListVideoXref> plvxrefs = playlistvideoxrefrep.GetPlayListVideoXrefs(pl.PlayListID).ToList();
                    foreach (PlayListVideoXref plvxref in plvxrefs)
                    {
                        playlistvideoxrefs.Add(plvxref);
                    }
                }
                sb.Append("</PlayLists>");


                // PlaylistVideoXrefs ---------------------------------------------------------------------------------
                playlistvideoxrefs = playlistvideoxrefs.Distinct().ToList();
                sb.Append("<PlayListVideoXrefs>");
                foreach (PlayListVideoXref plvxref in playlistvideoxrefs)
                {
                    sb.Append("<PlayListVideoXref ");
                    sb.Append("PlayListVideoXrefID=\"" + plvxref.PlayListVideoXrefID.ToString() + "\" ");
                    sb.Append("PlayListID=\"" + plvxref.PlayListID.ToString() + "\" ");
                    sb.Append("VideoID=\"" + plvxref.VideoID.ToString() + "\" ");
                    sb.Append("PlayOrder=\"" + plvxref.PlayOrder.ToString() + "\" ");
                    sb.Append(" />");

                    videos.Add(videorep.GetVideo(plvxref.VideoID));
                }
                sb.Append("</PlayListVideoXrefs>");


                // Videos ---------------------------------------------------------------------------------
                videos = videos.Distinct().ToList();
                sb.Append("<Videos>");
                foreach (Video video in videos)
                {
                    sb.Append("<Video ");
                    sb.Append("VideoID=\"" + video.VideoID.ToString() + "\" ");
                    sb.Append("StoredFilename=\"" + video.StoredFilename + "\" ");
                    sb.Append("VideoName=\"" + video.VideoName + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</Videos>");


                // Musics ---------------------------------------------------------------------------------
                musics = musics.Distinct().ToList();
                sb.Append("<Musics>");
                foreach (Music music in musics)
                {
                    sb.Append("<Music ");
                    sb.Append("MusicID=\"" + music.MusicID.ToString() + "\" ");
                    sb.Append("StoredFilename=\"" + music.StoredFilename + "\" ");
                    sb.Append("MusicName=\"" + music.MusicName + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</Musics>");

                // Player Settings ---------------------------------------------------------------------------------
                // Start with System Defaults - loop through the system defaults - then override account settings - then override player settings
                IEnumerable <PlayerSettingSystemDefault>  systemdefaults  = playersettingsystemrep.GetAllPlayerSettingSystemDefaults();
                IEnumerable <PlayerSettingAccountDefault> accountdefaults = playersettingaccountrep.GetAllPlayerSettingAccountDefaults(player.AccountID);
                IEnumerable <PlayerSetting> playerdefaults = playersettingrep.GetAllPlayerSettings(playerid);

                if (systemdefaults != null && systemdefaults.Count() > 0)
                {
                    foreach (PlayerSettingSystemDefault systemdefault in systemdefaults)
                    {
                        if (accountdefaults != null && accountdefaults.Count() > 0)
                        {
                            foreach (PlayerSettingAccountDefault accountdefault in accountdefaults)
                            {
                                if (systemdefault.PlayerSettingName == accountdefault.PlayerSettingName)
                                {
                                    systemdefault.PlayerSettingSystemDefaultValue = accountdefault.PlayerSettingAccountDefaultValue;
                                }
                            }
                        }
                        if (playerdefaults != null && playerdefaults.Count() > 0)
                        {
                            foreach (PlayerSetting playerdefault in playerdefaults)
                            {
                                if (systemdefault.PlayerSettingName == playerdefault.PlayerSettingName)
                                {
                                    systemdefault.PlayerSettingSystemDefaultValue = playerdefault.PlayerSettingValue;
                                }
                            }
                        }
                    }
                }

                sb.Append("<PlayerSettings>");
                foreach (PlayerSettingSystemDefault playersetting in systemdefaults)
                {
                    sb.Append("<PlayerSetting ");
                    sb.Append("PlayerSettingName=\"" + playersetting.PlayerSettingName + "\" ");
                    sb.Append("PlayerSettingTypeID=\"" + playersetting.PlayerSettingTypeID.ToString() + "\" ");
                    sb.Append("PlayerSettingValue=\"" + playersetting.PlayerSettingSystemDefaultValue + "\" ");
                    sb.Append(" />");
                }
                sb.Append("</PlayerSettings>");

                // Close the XML and return
                sb.Append("</xml>");

                return(sb.ToString());
            }
            catch (Exception ex)
            {
                return("<xml><Error>" + ex.Message + "</Error></xml>");
            }
        }