示例#1
0
        public ActionResult Edit(NoticeBoardViewModel Model)

        {
            if (ModelState.IsValid)
            {
                ViewBag.NoticeEdit = _noticeBoardManager.PostEdit(Model);


                if (Request.Files.Count > 0)
                {
                    var file = Request.Files[0];

                    if (file != null && file.ContentLength > 0)
                    {
                        var fileName = Guid.NewGuid() + "_" + Path.GetFileName(file.FileName);
                        var path     = Path.Combine(Server.MapPath("~/Content/images/"), fileName);
                        file.SaveAs(path);
                        var image = _data.SiteImages.FirstOrDefault(x => x.TypeId == Model.Notice.Id && x.Type == "Notice");

                        path = Path.Combine(Server.MapPath(image.ImagePath));

                        System.IO.File.Delete(path);

                        image.ImagePath = "/Content/images/" + fileName;

                        _data.SaveChanges();
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(Model));
        }
示例#2
0
        public IEnumerable <NoticeBoardViewModel> LatestNotice(int length)
        {
            List <NoticeBoardViewModel> noticeList = new List <NoticeBoardViewModel>();

            try
            {
                var orderedNotices = _data.Notice.Where(x => x.IsApproved).OrderBy(x => x.PinUp)
                                     .ThenByDescending(x => x.SubmitDate).Take(length);


                foreach (var n in orderedNotices)
                {
                    var nvm         = new NoticeBoardViewModel();
                    var noticeBoard = new NoticeBoard();
                    noticeBoard.UniqueUrl   = n.UniqueUrl;
                    noticeBoard.SubmitDate  = n.SubmitDate;
                    noticeBoard.Description = n.Description;
                    noticeBoard.Title       = n.Title;


                    nvm.Notice        = noticeBoard;
                    nvm.TotalComments = _noticeManager.GetComments(n.Id).Count();
                    nvm.NoticeImage   = _noticeManager.GetNoticeImage(n.Id, "Notice");
                    nvm.PostedBy      = n.Creator.UserName.UserName();

                    noticeList.Add(nvm);
                }
            }
            catch (Exception ex)
            {
                //log the exception.
            }

            return(noticeList);
        }
示例#3
0
        public NoticeBoardViewModel GetDetails(string uniqueUrl)
        {
            if (!string.IsNullOrEmpty(uniqueUrl))
            {
                var noticeDetails = _data.Notice.FirstOrDefault(x => x.UniqueUrl == uniqueUrl && x.IsApproved);
                if (noticeDetails != null)
                {
                    var nvm = new NoticeBoardViewModel();
                    nvm.Notice = noticeDetails;

                    nvm.NoticeImage = _data.SiteImages.FirstOrDefault(x => x.TypeId == noticeDetails.Id && x.Type == "Notice");


                    return(nvm);
                }
            }

            return(new NoticeBoardViewModel());
        }
示例#4
0
        public NoticeBoardViewModel GetEdit(int id)
        {
            NoticeBoard          notice       = new NoticeBoard();
            NoticeBoardViewModel noticeVMList = new NoticeBoardViewModel();

            try
            {
                var notice2 = _data.Notice.FirstOrDefault(x => (x.Id == id));
                if ((notice2.CreatorId == Current_User_id) || (HttpContext.Current.User.IsInRole(UserRole.Administrator.ToString())))
                {
                    noticeVMList.Notice      = notice2;
                    noticeVMList.NoticeImage = GetNoticeImage(notice2.Id, "Notice");
                }
                return(noticeVMList);
            }
            catch
            {
                return(noticeVMList);
            }
        }
示例#5
0
        public string PostEdit(NoticeBoardViewModel model)
        {
            try
            {
                var notice = _data.Notice.FirstOrDefault(x => (x.Id == model.Notice.Id));

                if ((notice.CreatorId == Current_User_id) || (HttpContext.Current.User.IsInRole(UserRole.Administrator.ToString())))
                {
                    notice.Title       = model.Notice.Title;
                    notice.Description = model.Notice.Description;
                    notice.WebLink     = model.Notice.WebLink;
                    //notice.ActionDate = model.ActionDate;

                    if (notice.PinUp == false && model.Notice.PinUp == true)
                    {
                        var PreviousPinUpNotice = _data.Notice.FirstOrDefault(x => (x.PinUp == true));
                        if (PreviousPinUpNotice != null)
                        {
                            PreviousPinUpNotice.PinUp = false;
                            _data.Entry(PreviousPinUpNotice).State = EntityState.Modified;
                        }
                    }
                    notice.PinUp = model.Notice.PinUp;



                    _data.Entry(notice).State = EntityState.Modified;
                    _data.SaveChanges();
                    return(Helpers.Constants.PostEdit);
                }
                else
                {
                    return(Helpers.Constants.PostEditFail);
                }
            }
            catch
            {
                return(Helpers.Constants.PostEditFail);
            }
        }