예제 #1
0
        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));
        }