public WorkflowVM ConsultarWorkflowCompleto(Guid IdWorkflow) { WorkflowVM wfvm = new WorkflowVM(ConsultarWorkflow(IdWorkflow)); var wfsteps = _wfsServ.ConsultarStepsPorWorkflow(IdWorkflow); foreach (var _wfstep in wfsteps) { var wfs = new WorkflowStepVM(_wfstep); wfs.Status = _statusServ.ConsultarStatus(_wfstep.IdStatus); wfs.Step = new StepVM(_stepServ.ConsultarStep(_wfstep.IdStep)); wfs.Step.GrupoAprovador = new GrupoAprovadorVM(_gaServ.ConsultarGrupoAprovador(wfs.Step.IdGrupoAprovador)); var lstgau = _gauServ.ConsultarGrupoAprovadorUsuarios(wfs.Step.IdGrupoAprovador); foreach (var gau in lstgau) { wfs.Step.GrupoAprovador.Aprovadores.Add(_usuarioServ.ConsultarUsuario(gau.IdUsuario)); } wfvm.WorkflowSteps.Add(wfs); } return(wfvm); }
public ActionResult AprovarWorkflowStep([FromRoute] Guid IdWorkflowStep) { try { var idUsuario = Request.ObterIdUsuario(); var idConta = Request.ObterIdConta(); var wfs = _serv.ConsultarWorkflowStep(IdWorkflowStep); var proximoWfs = wfs.IdStepProximo.Equals(Guid.Empty) ? null : _serv.ConsultarWorkflowStep(wfs.IdWorkflow, wfs.IdStepProximo); var step = _servStep.ConsultarStep(wfs.IdStep); if (!_servGAU.IsUsuarioNoGrupo(step.IdGrupoAprovador, idUsuario)) { return(StatusCode(401, "Usuário sem permissão para editar esta tarefa")); } if (!wfs.IsStepCorrente) { return(BadRequest("A tarefa que está tentando editar não está ativa")); } wfs.DataAtualizacao = DateTime.Now; wfs.IdUsuarioAtualizacao = idUsuario; wfs.IdStatus = Guid.Parse("5c35bd71-1348-4d53-8396-b6592048142b");// StatusId Aprovado wfs.IsStepCorrente = false; _serv.EditarWorkflowStep(wfs); if (proximoWfs != null) { proximoWfs.IsStepCorrente = true; _serv.EditarWorkflowStep(proximoWfs); } //verificar a necessidade de ter um status no workflow return(Ok()); } catch (Exception ex) { return(BadRequest($"Ocorreu um erro ao editar o WorkflowStep {IdWorkflowStep}: {ex.Message}")); } }
public ActionResult ConsultarStep([FromRoute] Guid IdStep) { try { var response = _serv.ConsultarStep(IdStep); return(Ok(response)); } catch (Exception ex) { return(BadRequest($"Ocorreu um erro ao consultar o Step {IdStep}: {ex.Message}")); } }