//[HttpGet]
        //public ActionResult Video()
        //{
        //    return View();
        //}
        //[HttpPost]
        //public ActionResult Video(AddVideoViewModel vm)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        Entry entry = new Entry
        //        {
        //            AccountId = GetSUD(),
        //            Active = 1,
        //            Content = vm.Content ?? "",
        //            Created = DateTime.Now,
        //            TypeId = (int)EntryTypeEnum.Link,
        //            MediaURL = vm.MediaURL,
        //            SourceURL = vm.SourceURL ?? "",
        //            Title = vm.Title
        //        };
        //        Rep.AddEntry(entry);
        //        Rep.Save();
        //        return RedirectToAction("Access", "Add", entry);
        //    }
        //    return View(vm);
        //}
        // ACCESS
        /// <summary>
        /// Define access for this entry.
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        public ActionResult Access(Entry entry)
        {
            // retrieve list of friends using claims and facebook sdk
            var friends = GetFriendInfo();
            // retrieve list of groups through repository
            var groups = Rep.GetGroupsByOwnerId(GetSUDInt());

            var gr = new List<AccessGroupViewModel>();

            foreach (var group in groups)
            {
                AccessGroupViewModel gvm = new AccessGroupViewModel
                {
                    Group = group
                };

                gr.Add(gvm);
            }

            AccessViewModel vm = new AccessViewModel
            {
                EntryId = entry.Id,
                AccessList = friends.Result.OrderBy(e => e.Name),
                Groups = gr
            };

            return View(vm);
        }
Ejemplo n.º 2
0
        public void UpdateEntry(Entry entry)
        {
            Entry original = GetEntryById(entry.Id);

            context.Entry(original).CurrentValues.SetValues(entry);
            Save();
        }
        /// <summary>
        /// Check the current user is either author or authorized viewer of the entry in question.
        /// </summary>
        /// <param name="entry">Entry </param>
        /// <returns></returns>
        public bool CheckAccess(Entry entry)
        {
            string userid = GetSUD();

            // If author
            if (entry.AccountId == userid || entry.EntryAccesses.Select(e => e.AccountId).Contains(userid))
                return true;

            return false;
        }
        public ActionResult Edit(Entry entry)
        {
            if (!CheckAuthor(entry.AccountId))
                return View("NoAccess");

            if (ModelState.IsValid)
            {
                entry.Updated = DateTime.Now;
            }

            return View("Edit", entry);
        }
Ejemplo n.º 5
0
        public ActionResult Image(AddImageViewModel vm)
        {

            if (ModelState.IsValid)
            {
                var genpath = "~/Content/uploads/";

                // Save Image to System
                string picture = System.IO.Path.GetFileName(vm.Image.FileName);
                string path = System.IO.Path.Combine(Server.MapPath(genpath), picture ?? "");
                // file is uploaded
                vm.Image.SaveAs(path);

                //using (MemoryStream ms = new MemoryStream())
                //{
                //    vm.Image.InputStream.CopyTo(ms);
                //    byte[] array = ms.GetBuffer();
                //}

                Entry entry = new Entry
                {
                    AccountId = GetSUD(),
                    Active = 1,
                    Content = vm.Content,
                    Created = DateTime.Now,
                    TypeId = (int)EntryTypeEnum.Image,
                    MediaURL = picture,
                    SourceURL = vm.SourceURL ?? "",
                    Title = vm.Title
                };

                Rep.AddEntry(entry);
                Rep.Save();

                return RedirectToAction("Access", "Add", entry);
            }

            return View(vm);
        }
Ejemplo n.º 6
0
 public void AddEntry(Entry entry)
 {
     context.Entries.Add(entry);
 }
        /// <summary>
        /// Displays the requested post
        /// </summary>
        /// <param name="entry"></param>
        /// <returns>ViewPost View</returns>
        public ActionResult ViewPost(Entry entry)
        {
            // Check the current user has access to this post as author or viewer
            if (!CheckAccess(entry))
                return View("NoAccess");

            PostViewModel vm = new PostViewModel
            {
                Entry = entry,
                Author = CheckAuthor(entry.AccountId),
                ViewType = Enum.GetName(typeof(EntryTypeEnum), entry.TypeId)
            };
            return View(vm);
        }
        public ActionResult Text(AddTextViewModel vm)
        {
            if (ModelState.IsValid)
            {
                Entry entry = new Entry
                {
                    AccountId = GetSUD(),
                    Active = 1,
                    Content = vm.Content ?? "",
                    Created = DateTime.Now,
                    TypeId = (int)EntryTypeEnum.Text,
                    SourceURL = vm.SourceURL ?? "",
                    Title = vm.Title
                };

                Rep.AddEntry(entry);
                Rep.Save();

                return RedirectToAction("Access", "Add", entry);
            }

            return View(vm);
        }
        public ActionResult Image(AddImageViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var genpath = "~/Content/uploads/";

                // Save Image to System
                string picture = System.IO.Path.GetFileName(vm.Image.FileName);

                // check image has a valid extension
                if (CheckValidImage(picture))
                {
                    string path = System.IO.Path.Combine(Server.MapPath(genpath), picture ?? "");
                    // file is uploaded
                    vm.Image.SaveAs(path);

                    // Crate new Entry
                    Entry entry = new Entry
                    {
                        AccountId = GetSUD(),
                        Active = 1,
                        Content = vm.Content,
                        Created = DateTime.Now,
                        TypeId = (int)EntryTypeEnum.Image,
                        MediaURL = picture,
                        SourceURL = vm.SourceURL ?? "",
                        Title = vm.Title
                    };

                    Rep.AddEntry(entry);
                    Rep.Save();

                    // return next stage of adding entry: defining access to post
                    return RedirectToAction("Access", "Add", entry);
                }
            }

            return View(vm);
        }
Ejemplo n.º 10
0
 public ActionResult ViewPost(Entry entry)
 {
     string viewType = Enum.GetName(typeof(EntryTypeEnum), entry.TypeId);
     return View(viewType, entry);
 }
Ejemplo n.º 11
0
        // ACCESS

        /// <summary>
        /// Define access for this entry.
        /// </summary>
        /// <param name="entry"></param>
        /// <returns></returns>
        public ActionResult Access(Entry entry)
        {
            var friends = GetFriendInfo();

            AccessViewModel vm = new AccessViewModel
            {
                EntryId = entry.Id,
                AccessList = friends.Result
            };

            return View(vm);
        }