コード例 #1
0
ファイル: LectureController.cs プロジェクト: jj09/GrupaEKA
        public ActionResult Edit(LectureTimeViewModel model)
        {
            try
            {
                var lecture = db.Lectures.Find(model.Lecture.ID);
                if (lecture == null)
                    return RedirectToAction("Index", "Lecture");
                if (!lecture.Author.Equals(Membership.GetUser().UserName) && !Roles.IsUserInRole(Membership.GetUser().UserName, "admin"))
                    return RedirectToAction("Details", new { ID = lecture.ID });
                int hour, minutes;
                Int32.TryParse(model.Hour, out hour);
                Int32.TryParse(model.Minutes, out minutes);
                TimeSpan time = new TimeSpan(hour, minutes, 0);
                lecture.Date = model.Lecture.Date + time;
                lecture.Text = model.Lecture.Text;
                lecture.Title = model.Lecture.Title;

                //add file
                foreach (string upload in Request.Files)
                {
                    if (Request.Files[upload].ContentLength == 0)
                        continue;

                    string path = AppDomain.CurrentDomain.BaseDirectory + "Content/files/";

                    FileInfo TheFile = new FileInfo(path + model.Lecture.File);
                    if (TheFile.Exists)
                    {
                        TheFile.Delete();
                    }

                    string ext = Request.Files[upload].FileName.Substring(Request.Files[upload].FileName.LastIndexOf('.'));
                    string baseName = Request.Files[upload].FileName.Substring(0,Request.Files[upload].FileName.LastIndexOf('.'));
                    string uploadDate = String.Format("({0:d})", lecture.Date);
                    lecture.File = (baseName+uploadDate).Replace(' ', '_').Replace('/', '_') + ext;
                    Request.Files[upload].SaveAs(Path.Combine(path, lecture.File));
                }
                //end add file

                UpdateModel(lecture);
                db.SaveChanges();
                return RedirectToAction("Details", new { id = model.Lecture.ID });
            }
            catch (Exception)
            {
                ModelState.AddModelError("", "Błąd edycji!");
            }
            return View(model);
        }
コード例 #2
0
ファイル: LectureController.cs プロジェクト: jj09/GrupaEKA
        public ActionResult Create(LectureTimeViewModel newLectureTime)
        {
            if (ModelState.IsValid)
            {
                Lecture newLecture = newLectureTime.Lecture;
                int hour, minutes;
                Int32.TryParse(newLectureTime.Hour, out hour);
                Int32.TryParse(newLectureTime.Minutes, out minutes);
                TimeSpan time = new TimeSpan(hour, minutes, 0);
                newLecture.Date = newLecture.Date + time;

                //add file
                try
                {
                    foreach (string upload in Request.Files)
                    {
                        if (Request.Files[upload].ContentLength == 0)
                            continue;

                        string path = AppDomain.CurrentDomain.BaseDirectory + "Content/files/";

                        string ext = Request.Files[upload].FileName.Substring(Request.Files[upload].FileName.LastIndexOf('.'));
                        string baseName = Request.Files[upload].FileName.Substring(0, Request.Files[upload].FileName.LastIndexOf('.'));
                        string uploadDate = String.Format("({0:d})", newLecture.Date);
                        newLecture.File = (baseName + uploadDate).Replace(' ', '_').Replace('/', '_') + ext;
                        Request.Files[upload].SaveAs(Path.Combine(path, newLecture.File));
                    }
                }
                catch (NullReferenceException)
                {
                    //no files uploaded
                }
                //end add file

                db.Lectures.Add(newLecture);
                db.SaveChanges();

                return RedirectToAction("Index", "Lecture");
            }
            else
            {
                ViewBag.Now = DateTime.Now;
                ViewBag.NewsCategories = db.NewsCategories;
                return View(newLectureTime);
            }
        }
コード例 #3
0
ファイル: LectureController.cs プロジェクト: jj09/GrupaEKA
 public ActionResult Edit(int id)
 {
     Lecture lecture = db.Lectures.Find(id);
     if (lecture == null)
         return RedirectToAction("Index", "Lecture");
     if (!lecture.Author.Equals(Membership.GetUser().UserName) && !Roles.IsUserInRole(Membership.GetUser().UserName, "admin"))
         return RedirectToAction("Details", new { ID = lecture.ID });
     LectureTimeViewModel editLecture = new LectureTimeViewModel();
     editLecture.Lecture = lecture;
     editLecture.Hour = lecture.Date.Hour.ToString();
     editLecture.Minutes = lecture.Date.Minute.ToString();
     return View(editLecture);
 }
コード例 #4
0
ファイル: LectureController.cs プロジェクト: jj09/GrupaEKA
 public ActionResult Create()
 {
     ViewBag.Now = DateTime.Now;
     LectureTimeViewModel newLectureTime = new LectureTimeViewModel();
     newLectureTime.Lecture = new Lecture();
     newLectureTime.Lecture.Date = DateTime.Now;
     return View(newLectureTime);
 }