private void SetTitle()
        {
            var lastUpdate = Corkboard.GetLatestCorkboardUpdate().ToShortDateString();

            if (lastUpdate.Equals(DateTime.MinValue.ToShortDateString()))
            {
                lastUpdate = "Never updated.";
            }

            TitleBlock.Text = $"{Corkboard.Title} by {Owner.Name} - {Corkboard.Category} - Latest update: {lastUpdate}";
        }
Пример #2
0
        public Corkboard CreateCorkboard(Corkboard corkboard)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            corkboardDbContext.Corkboards.Add(corkboard);
            corkboardDbContext.SaveChanges();

            return(corkboard);
        }
Пример #3
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 }));
        }
Пример #4
0
        public ActionResult SaveCorkboard(AddCorkboardVewModel corkboardDetails)
        {
            if (corkboardDetails.VisibilityTypeId.ToString().Equals("Private"))
            {
                if (ModelState.IsValid)
                {
                    //create database context using Entity framework
                    using (corkboardDbContext)
                    {
                        User user = userDbContext.Users.Where(query => query.Email.Equals(User.Identity.Name) &&
                                                              query.Password.Equals(corkboardDetails.Pin)).SingleOrDefault();
                        if (user != null)
                        {
                            CorkboardCategory corkboardCategory = categoryDbContext.
                                                                  CorkboardCategories.
                                                                  Where(query => query.Id.Equals(corkboardDetails.CategoryTypeId))
                                                                  .SingleOrDefault();
                            Corkboard corkboard = new Corkboard();
                            corkboard.UserId       = user.Id;
                            corkboard.Title        = corkboardDetails.Title;
                            corkboard.CategoryId   = corkboardCategory.Id;
                            corkboard.VisibilityId = 1;
                            corkboard.Watch        = 0;
                            corkboard.DateTime     = DateTime.Now;

                            corkboardDbContext.Corkboards.Add(corkboard);
                            corkboardDbContext.SaveChanges();
                        }
                        else
                        {
                            var categoryType = categoryDbContext.CorkboardCategories.ToList();

                            var viewModel = new AddCorkboardVewModel
                            {
                                CorkboardCategories = categoryType
                            };
                            ModelState.AddModelError("Failure", "Wrong Password!");
                            return(View("AddCorkboard", viewModel));
                        }
                    }
                }
                else
                {
                    var categoryType = categoryDbContext.CorkboardCategories.ToList();

                    var viewModel = new AddCorkboardVewModel
                    {
                        CorkboardCategories = categoryType
                    };
                    return(View("AddCorkboard", viewModel));
                }
            }
            else if (corkboardDetails.VisibilityTypeId.ToString().Equals("Public"))
            {
                //create database context using Entity framework
                using (corkboardDbContext)
                {
                    Corkboard         corkboard         = new Corkboard();
                    CorkboardCategory corkboardCategory = categoryDbContext.
                                                          CorkboardCategories.
                                                          Where(query => query.Id.Equals(corkboardDetails.CategoryTypeId))
                                                          .SingleOrDefault();

                    string Email = User.Identity.Name;
                    User   user  = userDbContext.Users.Where(query => query.Email.Equals(Email)).SingleOrDefault();
                    corkboard.UserId       = user.Id;
                    corkboard.Title        = corkboardDetails.Title;
                    corkboard.CategoryId   = corkboardCategory.Id;
                    corkboard.VisibilityId = 0;
                    corkboard.Watch        = 0;
                    corkboard.DateTime     = DateTime.Now;

                    corkboardDbContext.Corkboards.Add(corkboard);
                    corkboardDbContext.SaveChanges();
                }
            }
            else
            {
                var categoryType = categoryDbContext.CorkboardCategories.ToList();

                var viewModel = new AddCorkboardVewModel
                {
                    CorkboardCategories = categoryType
                };
                return(View("AddCorkboard", viewModel));
            }
            ViewBag.Message = "New CorkBoard has been added saved";
            return(RedirectToAction("Index", "CorkBoard"));
        }