예제 #1
0
        public ActionResult AddArticle(FormCollection form)
        {
            User u = user.getUser((Session["User"] as LoginForm).Id);
            if (u.Role_Id <= 2)
            {
                Article art = new Article();
                art.Title = form["Title"];
                art.Content = form["Content"];
                art.CreateTime = DateTime.Now;
                art.UserId = (Session["User"] as LoginForm).Id;
                HttpFileCollectionBase file = Request.Files;
                if (file != null)
                {
                    string filename = file["file"].FileName;
                    string path = AppDomain.CurrentDomain.BaseDirectory + "/Files/Article/";
                    Document d = new Document();
                    d.IsArticle = true;
                    d.IsShare = true;
                    d.Name = filename;
                    d.UserId = u.Id;
                    d.UserName = u.UserName;
                    d.CreateTime = DateTime.Now;
                    d.Size = file["file"].ContentLength;
                    if (!document.AddDocument(d))
                    {
                        ViewData["Error"] = "出错了,请与管理员联系";
                        return View();
                    }
                    try
                    {
                        file["file"].SaveAs(Path.Combine(path, filename));
                    }
                    catch
                    {
                        ViewData["Error"] = "文件保存失败";
                        return View();
                    }
                    art.documentId = d.Id;
                }
                if (!article.addArticle(art))
                {
                    ViewData["Error"] = "出错了,请与管理员联系";
                    return View();
                }
                return RedirectToAction("Index", "Index");
            }
            else
            {

                return RedirectToAction("ForbidPage", "Error");
            }
        }
예제 #2
0
 public Boolean DeleteDocument(Document document)
 {
     try
     {
         db.Set<Document>().Remove(document);
         db.SaveChanges();
         return true;
     }
     catch
     {
         return false;
     }
 }
예제 #3
0
 public Boolean AddDocument(Document document)
 {
     try
     {
         db.Set<Document>().Add(document);
         db.SaveChanges();
         return true;
     }
     catch
     {
         return false;
     }
 }
예제 #4
0
        public JsonResult AddDocument()
        {
            Document d = document.findDocument(StringInit(Request["Name"]));
            if (d == null)
            {
                d = new Document();
                DateTime time = DateTime.Now;
                d.Name = time.ToString("MM月dd日HHmmss-") + StringInit(Request["Name"]);
                d.UserId = (this.ControllerContext.HttpContext.Session["User"] as LoginForm).Id;
                d.Size = Int64.Parse(Request["Size"]);
                d.UserName = (this.ControllerContext.HttpContext.Session["User"] as LoginForm).UserName;

                d.Picture = time.ToString("yyyyMMddHHmmss-") + StringInit(Request["Picture"]) + ".png";
                d.CreateTime = System.DateTime.Now;
                if (string.IsNullOrEmpty(Request["SubTaskId"]))
                {
                    d.Task_Id = 0;
                    d.IsArticle = false;
                    d.IsShare = true;
                }
                else
                {
                    d.SubTask_Id = Int32.Parse(Request["SubTaskId"]);
                    d.Task_Id = new SubTaskService().getSubTask((int)d.SubTask_Id).Sprint.Task_Id;
                    d.IsShare = false;
                    d.SprintName = (new SubTaskService()).getSubTask((int)d.SubTask_Id).Sprint.Name;
                }
                if (document.AddDocument(d))
                {
                    System.IO.File.Move(System.AppDomain.CurrentDomain.BaseDirectory + "Files/" + Request["Name"], System.AppDomain.CurrentDomain.BaseDirectory + "Files/" + d.Name);
                    System.IO.File.Move(System.AppDomain.CurrentDomain.BaseDirectory + "Files/_thumbs/" + Request["Picture"] + ".png", System.AppDomain.CurrentDomain.BaseDirectory + "Files/_thumbs/" + d.Picture);
                    return Json(new { info = true });
                }
                else
                {
                    (new System.IO.FileInfo(System.AppDomain.CurrentDomain.BaseDirectory + "Files/" + Request["Name"])).Delete();
                    (new System.IO.FileInfo(System.AppDomain.CurrentDomain.BaseDirectory + "Files/_thumbs/" + Request["Picture"] + ".png")).Delete();
                    return Json(new { info = false, message = "文件保存失败" });
                }
            }
            else
            {
                return Json(new { info = false, message = "文件已存在" });
            }
        }
예제 #5
0
 public ActionResult AddTaskDocument(FormCollection form)
 {
     Document d = new Document();
     d.Task_Id = Int32.Parse(form["TaskId"]);
     Task t = (new TaskService()).getTask(Int32.Parse(form["TaskId"]));
     HttpFileCollectionBase file = Request.Files;
     User u=user.getUser((Session["User"] as LoginForm).Id);
     if(u.Role_Id>2){
         return RedirectToAction("ForbidPage","Error");
     }
     ViewData["Error"] = "未选择文件";
     if (file != null)
     {
         try
         {
             d.Size = file["file"].ContentLength;
             d.Name = StringInit(file["file"].FileName);
             d.CreateTime = DateTime.Now;
             d.IsShare = false;
             d.IsArticle = false;
             d.UserId = (Session["User"] as LoginForm).Id;
             d.UserName = (Session["User"] as LoginForm).UserName;
             string path = AppDomain.CurrentDomain.BaseDirectory + "/Files/" + t.Name + "/";
             file["file"].SaveAs(Path.Combine(path, d.Name));
                           }
         catch
         {
             ViewData["Error"] = "文件保存失败";
         }
         if (!document.AddDocument(d))
         {
             ViewData["Error"] = "出错了,请与管理员联系";
         }
     }
     return RedirectToAction("TaskBoard", "Task", new { Id=d.Task_Id});
 }
예제 #6
0
        public ActionResult UpdateArticle(FormCollection form, int Id)
        {
            User u = user.getUser((Session["User"] as LoginForm).Id);
            string path = AppDomain.CurrentDomain.BaseDirectory + "/Files/Article/";
            HttpFileCollectionBase file = Request.Files;
            Article art = article.getArticle(Id);
            ViewData["Article"] = art;
            if (u.Role_Id != 1 && art.UserId != u.Id)
            {
                return RedirectToAction("ForbidPage", "Error");
            }
            art.Title = form["Title"];
            art.Content = form["Content"];
            if (art.documentId != null)
            {
                Document d = document.getDocument((int)art.documentId);
                if (!string.IsNullOrEmpty(file["file"].FileName)&&!file["file"].FileName.Equals(d.Name))
                {
                    string documentName = d.Name;
                    try
                    {

                        System.IO.File.Delete(path + documentName);
                    }
                    catch
                    {
                        ViewData["Error"] = "文件删除失败";
                        return View();
                    }

                    if (!document.DeleteDocument(d))
                    {
                        ViewData["Error"] = "出错了,请与管理员联系";
                        return View();
                    }
                    art.documentId = null;
                }
            }
            if (!string.IsNullOrEmpty(file["file"].FileName))
            {
                string filename = file["file"].FileName;
                Document d2 = new Document();
                d2.IsArticle = true;
                d2.IsShare = true;
                d2.Name = filename;
                d2.UserId = u.Id;
                d2.UserName = u.UserName;
                d2.CreateTime = DateTime.Now;
                d2.Size = file["file"].ContentLength;
                if (!document.AddDocument(d2))
                {
                    ViewData["Error"] = "出错了,请与管理员联系";
                    return View();
                }
                try
                {
                    file["file"].SaveAs(Path.Combine(path, filename));
                }
                catch
                {
                    ViewData["Error"] = "文件保存失败";
                    return View();
                }
                art.documentId = d2.Id;
            }
            try
            {
                document.save();
            }
            catch
            {
                ViewData["Error"] = "出错了,请与管理员联系";
                return View();
            }

            return RedirectToAction("AdminArticle", "Admin");
        }