Ejemplo n.º 1
0
        public ActionResult AddPushpin(int id)
        {
            var viewModel = new AddPushpinViewModel
            {
                CorkboardId    = id,
                CorkboardTitle = corkboardDbContext.Corkboards.SingleOrDefault(cid => cid.Cid == id).Title
            };

            return(View(viewModel));
        }
Ejemplo n.º 2
0
        public ActionResult AddPushpin(AddPushpinViewModel pushpinDetails, int id)
        {
            Uri  uriResult;
            bool check = IsImageUrl(pushpinDetails.Url);

            if (Uri.IsWellFormedUriString(pushpinDetails.Url, UriKind.Absolute) && check)
            {
                if (ModelState.IsValid)
                {
                    using (pushpinDbContext)
                    {
                        Pushpin pushpin = new Pushpin();

                        pushpin.CorkboardId = id;
                        pushpin.Url         = pushpinDetails.Url;
                        pushpin.Description = pushpinDetails.Description;
                        pushpin.Tags        = pushpinDetails.Tags;
                        pushpin.DateTime    = DateTime.Now;

                        Corkboard corkboardInDb = corkboardDbContext.Corkboards.Where(query => query.Cid.Equals(id)).SingleOrDefault();
                        corkboardInDb.DateTime = DateTime.Now;

                        pushpinDbContext.Pushpins.Add(pushpin);
                        pushpinDbContext.SaveChanges();
                        corkboardDbContext.SaveChanges();
                    }
                }
                else
                {
                    ModelState.AddModelError("Failure", "Fill in the right details");
                    return(View("AddPushpin", pushpinDetails));
                }
            }
            else if (Uri.TryCreate(pushpinDetails.Url, UriKind.Absolute, out uriResult) &&
                     (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps) && check)
            {
                if (ModelState.IsValid)
                {
                    using (pushpinDbContext)
                    {
                        Pushpin pushpin = new Pushpin();

                        pushpin.CorkboardId = id;
                        pushpin.Url         = pushpinDetails.Url;
                        pushpin.Description = pushpinDetails.Description;
                        pushpin.Tags        = pushpinDetails.Tags;
                        pushpin.DateTime    = DateTime.Now;

                        var corkboardInDb = corkboardDbContext.Corkboards.SingleOrDefault(c => c.Cid == id);
                        corkboardInDb.DateTime = DateTime.Now;

                        pushpinDbContext.Pushpins.Add(pushpin);
                        pushpinDbContext.SaveChanges();
                        corkboardDbContext.SaveChanges();
                    }
                }
                else
                {
                    ModelState.AddModelError("Failure", "Fill in the right details");
                    return(View("AddPushpin", pushpinDetails));
                }
            }
            else
            {
                ModelState.AddModelError("Failure", "Enter a valid http or https url");
                return(View("AddPushpin", pushpinDetails));
            }
            ViewBag.Message = "New Pushpin has been added saved";
            return(RedirectToAction("ViewCorkboard", "CorkBoard", new { id = id }));
        }