public ActionResult ShowStep(int stepid) { Step step = stepService.findStep(stepid); string idUser = User.Identity.GetUserId(); //file string stepPath = string.Format("Upload/{0}/{1}/{2}", step.Process.IdGroup, step.Process.Id, step.Id); List <FileManager> files = fileService.findFiles(step.Process.IdGroup, stepPath); ViewData["Files"] = files; ViewData["UserRoles"] = participateService.getRoleOfMember(idUser, step.Process.IdGroup); ViewData["FileMaxSize"] = db.ConfigRules.Find("filesize"); return(View(step)); }
public JsonResult AddTask(int stepid, string name, int?idRole, string description, string inputConfig, string fileConfig, HttpPostedFileBase fileupload) { HttpStatusCode status = HttpStatusCode.OK; string message; object response; //int idstep = (int)Session["idStep"]; Step step = stepService.findStep(stepid); if (name == "") { status = HttpStatusCode.InternalServerError; message = "Name task is required"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } if (idRole != null) { int idR = idRole.GetValueOrDefault(); Role role = roleService.findRoleOfProcess(idR, step.Process.Id); if (role == null) { //role not exist status = HttpStatusCode.InternalServerError; message = "Role not exist"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } } TaskProcess task = taskService.addtask(step.Id, name, idRole, description, inputConfig, fileConfig); //create directory Group group = groupService.findGroup(step.Process.Group.Id); string directoryPath = String.Format("Upload/{0}/{1}/{2}/{3}", group.Id, step.Process.Id, step.Id, task.Id); fileService.createDirectory(directoryPath); //file fileService.saveFile(group.Id, fileupload, directoryPath, Direction.Task); SetFlash(FlashType.success, "Created Task Successfully"); message = "Created Task Successfully"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); }
public JsonResult uploadFile(int groupid, int?processid, int?stepid, int?taskid, HttpPostedFileBase FileUpload, Direction direction) { HttpStatusCode status = HttpStatusCode.OK; string message; object response; if (FileUpload.ContentLength == 0) { status = HttpStatusCode.NoContent; message = "Your File is empty"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } ConfigRule fileSizeRule = db.ConfigRules.Find("filesize"); bool isFileOverSize = fileService.checkFileOverSize(FileUpload); if (isFileOverSize) { status = HttpStatusCode.InternalServerError; message = string.Format("This file is too big ({0} {1} maximum)", fileSizeRule.Value, fileSizeRule.Unit); response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } string filePath; if (direction == Direction.Process) { Process pr = processService.findProcess(processid.GetValueOrDefault()); if (pr == null) { status = HttpStatusCode.NotFound; message = "Process not found"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } filePath = String.Format("Upload/{0}/{1}", pr.IdGroup, pr.Id); } else if (direction == Direction.Step) { Step st = stepService.findStep(stepid.GetValueOrDefault()); if (st == null) { status = HttpStatusCode.NotFound; message = "Step not found"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } filePath = String.Format("Upload/{0}/{1}/{2}", st.Process.Group.Id, st.Process.Id, st.Id); } else if (direction == Direction.Task) { TaskProcess tp = taskService.findTask(taskid.GetValueOrDefault()); if (tp == null) { status = HttpStatusCode.NotFound; message = "Task not found"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } filePath = String.Format("Upload/{0}/{1}/{2}/{3}", tp.Step.Process.Group.Id, tp.Step.Process.Id, tp.Step.Id, tp.Id); } else { Group gr = groupService.findGroup(groupid); if (gr == null) { status = HttpStatusCode.NotFound; message = "Group not found"; response = new { message = message, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); } filePath = String.Format("Upload/{0}", gr.Id); } FileManager f = fileService.saveFile(groupid, FileUpload, filePath, direction); object data = new { id = f.Id, name = f.Name }; message = "Save File Sucessfull"; response = new { message = message, data = data, status = status }; return(Json(response, JsonRequestBehavior.AllowGet)); }