Esempio n. 1
0
        public JsonResult Upload()
        {
            string rootPath = Server.MapPath("~/Upload");
            string path     = Request.Form["path"];
            bool   replace  = bool.Parse(Request.Form["replace"]);

            if (!string.IsNullOrEmpty(path))
            {
                path = Fruit.Data.FruitExpression.Replace(path);
                var targetPath = Server.MapPath("~/Upload/" + path);
                if (!System.IO.Directory.Exists(targetPath))
                {
                    System.IO.Directory.CreateDirectory(targetPath);
                }
            }
            string saveDir    = rootPath;
            string fileIdText = Request.Form["fileId"];
            int    fileId     = 0;

            int.TryParse(fileIdText, out fileId);

            List <sys_file> files = new List <sys_file>();

            foreach (var file in Request.Files.GetMultiple("file"))
            {
                if (file.ContentLength > 1)
                {
                    var saveName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(file.FileName);
                    var savePath = System.IO.Path.Combine(rootPath, path, saveName);
                    file.SaveAs(savePath);
                    files.Add(new sys_file {
                        FileId = fileId, FileName = System.IO.Path.GetFileName(file.FileName), Path = "/Upload/" + path + "/" + saveName, CreateDate = DateTime.Now, CreatePerson = Fruit.Data.FruitExpression.Replace("{U.UserCode}")
                    });
                }
            }

            if (files.Count > 0)
            {
                // 需要进行保存操作
                using (var db = new SysContext())
                {
                    if (fileId == 0)
                    {
                        fileId = new SysSerialServices().GetNewSerial(db, "sys_file");
                    }
                    else if (replace)
                    {
                        db.Database.ExecuteSqlCommand("delete from sys_file where FileId = @FileId", new System.Data.SqlClient.SqlParameter("@FileId", fileId));
                    }
                    var serial = db.Database.SqlQuery <int>("select top 1 Serial from sys_file where FileId = @FileId order by Serial desc", new System.Data.SqlClient.SqlParameter("@FileId", fileId)).FirstOrDefault();
                    foreach (var file in files)
                    {
                        file.FileId = fileId;
                        file.Serial = ++serial;
                        db.sys_file.Add(file);
                    }
                    db.SaveChanges();
                }
            }

            return(Json(new { fileId, files }));
        }
Esempio n. 2
0
        public ActionResult SearchScheme(string pageCode, string method = "list")
        {
            var    user   = System.Web.HttpContext.Current.Session["sys_user"] as sys_user;
            var    sss    = new SysSerialServices();
            object result = null;

            using (var db = new SysContext())
            {
                switch (method)
                {
                case "list":
                    if (user == null)
                    {
                        result = db.sys_searchScheme.Where(s => s.PageCode == pageCode).OrderBy(s => s.Title).Select(s => new {
                            s.Id,
                            s.Title,
                            s.Data,
                            deleable = false
                        }).ToList();
                    }
                    else
                    {
                        result = db.sys_searchScheme.Where(s => s.PageCode == pageCode && (s.CompCode == null || s.CompCode == user.CompCode)).OrderBy(s => s.Title).Select(s => new {
                            s.Id,
                            s.Title,
                            s.Data,
                            deleable = s.CompCode == user.CompCode && s.UserCode == user.UserCode
                        }).ToList();
                    }
                    break;

                case "add":
                    if (user != null)
                    {
                        var ss = new sys_searchScheme
                        {
                            Id       = sss.GetNewSerial(db, "sys_searchScheme"),
                            CompCode = user.CompCode,
                            UserCode = user.UserCode,
                            PageCode = pageCode,
                            Title    = Request["title"],
                            Data     = Request["data"]
                        };
                        db.sys_searchScheme.Add(ss);
                        db.SaveChanges();
                        result = new { ss.Id, ss.Title, ss.Data, deleable = true };
                    }
                    break;

                case "del":
                    if (user != null)
                    {
                        var ss = db.sys_searchScheme.Find(int.Parse(Request["id"]));
                        if (ss != null && ss.CompCode == user.CompCode && ss.UserCode == user.UserCode)
                        {
                            db.Entry(ss).State = EntityState.Deleted;
                            db.SaveChanges();
                            result = true;
                        }
                    }
                    break;
                }
            }
            return(new JsonNetResult(result));
        }