public JsonResult AddFormTask(string name, int?idRole, string description, string formBuilder, HttpPostedFileBase fileupload) { HttpStatusCode status = HttpStatusCode.OK; string message; object response; int idstep = (int)Session["idStep"]; Step step = stepService.findStep(idstep); if (name == "") { status = HttpStatusCode.InternalServerError; message = "Created Task Successfully"; 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.AddFormTask(step.Id, name, idRole, description, formBuilder); //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); 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)); }