Exemple #1
0
        public IActionResult Delete(string id = null, int seq = 0, string typ = null)
        {
            AttainFile attainfile = _db.AttainFiles.Find(typ, id, seq);

            if (attainfile == null)
            {
                return(NotFound());
            }
            else
            {
                try
                {
                    string WebRootPath = _hostingEnvironment.WebRootPath;
                    string filePath    = Path.Combine(@"D:\" + "/Files/BMED/");

                    FileInfo ff = new FileInfo(Path.Combine(filePath, attainfile.FileLink));
                    ff.Delete();
                    _db.AttainFiles.Remove(attainfile);
                    _db.SaveChanges();
                    //return Json(new { msg = "儲存成功!" }, JsonRequestBehavior.AllowGet);
                    return(Content(""));
                }
                catch (Exception ex)
                {
                    return(Content(ex.Message));
                }
            }
        }
        public async Task <IViewComponentResult> InvokeAsync(string doctype, string docid, string viewType)
        {
            AttainFile attainFile = new AttainFile();

            attainFile.DocType  = doctype;
            attainFile.DocId    = docid;
            attainFile.SeqNo    = 2;
            attainFile.IsPublic = "N";
            attainFile.FileLink = "default";

            if (viewType == "AjaxView")
            {
                return(View("AjaxView", attainFile));
            }
            return(View(attainFile));
        }
Exemple #3
0
        public async Task <IActionResult> Create(AttainFile attainFile, IEnumerable <IFormFile> file)
        {
            //目前使用者資料
            var ur = _userRepo.Find(u => u.UserName == this.User.Identity.Name).FirstOrDefault();

            //文件臨時位置的完整路徑
            var filePath = Path.GetTempFileName();

            if (ModelState.IsValid)
            {
                try
                {
                    //AppUser appUser = db.AppUsers.Where(u => u.UserName == User.Identity.Name).FirstOrDefault();
                    //接收文件
                    //HttpPostedFileBase file = Request.Files[0];
                    //文件扩展名
                    //string extension = Path.GetExtension(file.FileName);
                    string s = "/Files/OutsideBmed";
#if DEBUG
                    s = "/Files";
#endif
                    switch (attainFile.DocType)
                    {
                    case "OutsideBmed":
                        s += "/OutsideBmed/";
                        break;

                    default:
                        s += "/Sign/";
                        break;
                    }
                    var i = _db.AttainFiles
                            .Where(a => a.DocType == attainFile.DocType)
                            .Where(a => a.DocId == attainFile.DocId).ToList();
                    attainFile.SeqNo = i.Count == 0 ? 1 : i.Select(a => a.SeqNo).Max() + 1;

                    string path = Path.Combine(@"D:\" + s + attainFile.DocId + "_"
                                               + attainFile.SeqNo.ToString() + Path.GetExtension(Request.Form.Files[0].FileName));
                    // Upload files.
                    using (var stream = new FileStream(path, FileMode.Create))
                    {
                        await Request.Form.Files[0].CopyToAsync(stream);
                    }
                    string filelink = attainFile.DocId + "_"
                                      + attainFile.SeqNo.ToString() + Path.GetExtension(Request.Form.Files[0].FileName);

                    switch (attainFile.DocType)
                    {
                    case "OutsideBmed":
                        attainFile.FileLink = "OutsideBmed/" + filelink;
                        break;

                    default:
                        attainFile.FileLink = "Sign/" + filelink;
                        break;
                    }
                    attainFile.Rtt = DateTime.Now;
                    attainFile.Rtp = ur.Id;
                    _db.AttainFiles.Add(attainFile);
                    _db.SaveChanges();
                }
                catch (Exception e)
                {
                    throw new Exception(e.Message);
                }
            }
            else
            {
                string msg = "";
                foreach (var error in ViewData.ModelState.Values.SelectMany(modelState => modelState.Errors))
                {
                    msg += error.ErrorMessage + Environment.NewLine;
                }
                throw new Exception(msg);
            }

            return(new JsonResult(new
            {
                Data = new { success = true, error = "" }
            }));
        }