public ActionResult ConfirmaAnalise(string UKAlocacao, string UKREL_DocAloc, string Coment, string status, string UKobjetoArquivo) { Guid Aloc = Guid.Parse(UKAlocacao); Guid Rel = Guid.Parse(UKREL_DocAloc); //uniquekey do arquivo Guid RelArq = Guid.Parse(UKobjetoArquivo); DataTable oSql = retornaAdm(UKAlocacao); DataTable oSql1 = retornaLoc(UKAlocacao); DataTable result = null; if (oSql != null) { result = oSql; } if (oSql1 != null) { result = oSql1; } string ukEmp = ""; if (result.Rows.Count > 0) { foreach (DataRow row in result.Rows) { if (ukEmp == "") { ukEmp = row["ukemp"].ToString(); } } } Guid ukempreg = Guid.Parse(ukEmp); if (ModelState.IsValid) { try { REL_DocumentosAlocados oRelDoc = REL_DocumentosAlocadosBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(Rel)); Rel_DocAdmissao oRelDocAd = Rel_DocAdmissaoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(Rel)); REL_ArquivoEmpregado oArqemp = REL_ArquivoEmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObjetoArquivo.Equals(RelArq)); var Cstatus = Convert.ToInt32(status); var oArquivos = ArquivoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(RelArq)); //oRelDoc.Posicao = Cstatus; //REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); //oArqemp.status = status; //REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); //oArquivos.status = status; //ArquivoBusiness.Alterar(oArquivos); string sttatus = ""; if (oRelDoc != null) { var oStatus = ArquivoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObjeto.Equals(oRelDoc.UKDocumento) && a.NumRegistro.Equals(UKAlocacao)).ToList(); var contador = oStatus.Count(); var contador1 = 0; var contador2 = 0; var contador3 = 0; if (oStatus != null) { foreach (var item in oStatus) { if (item.status == Convert.ToString(3)) { contador3 = contador3 + 1; //sttatus = "3"; } if (item.status == Convert.ToString(1)) { contador1 = contador1 + 1; //sttatus = "1"; } if (item.status == Convert.ToString(2)) { contador2 = contador2 + 1; //sttatus = "2"; } } } switch (status) { case "3": if (oArquivos.UniqueKey == RelArq && status == "3" && contador3 >= 1) { throw new Exception("Você precisa corrigir ou deletar o arquivo reprovado!"); } else { oRelDoc.Posicao = Cstatus; REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } break; case "1": if (oArquivos.UniqueKey == RelArq && contador1 > 1 && contador3 == 0) { //oRelDoc.Posicao = Cstatus; //REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } else if (oArquivos.UniqueKey == RelArq && contador1 > 1 && contador3 >= 1) { throw new Exception("Você precisa corrigir ou deletar o arquivo reprovado!"); } else if (oArquivos.UniqueKey == RelArq && contador1 == 0 && contador3 >= 1) { throw new Exception("Você precisa corrigir ou deletar o arquivo reprovado!"); } else { oRelDoc.Posicao = Cstatus; REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } break; case "2": if (oArquivos.UniqueKey == RelArq && status == "2" && contador1 < contador - 1 && contador1 >= 2) { oRelDoc.Posicao = Cstatus; REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } else if (oArquivos.UniqueKey == RelArq && status == "2" && contador1 == 1) { oRelDoc.Posicao = Cstatus; REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } break; } } if (oRelDocAd != null) { var oStatus = ArquivoBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObjeto.Equals(oRelDocAd.UniqueKey)).ToList(); var contador = oStatus.Count(); var contador1 = 0; var contador2 = 0; var contador3 = 0; if (oStatus != null) { foreach (var item in oStatus) { if (item.status == Convert.ToString(3)) { contador3 = contador3 + 1; //sttatus = "3"; } if (item.status == Convert.ToString(1)) { contador1 = contador1 + 1; //sttatus = "1"; } if (item.status == Convert.ToString(2)) { contador2 = contador2 + 1; //sttatus = "2"; } } } switch (status) { case "3": if (oArquivos.UniqueKey == RelArq && status == "3" && contador3 >= 1) { throw new Exception("Você precisa corrigir ou deletar o arquivo reprovado!"); } else { oRelDocAd.Posicao = Cstatus; Rel_DocAdmissaoBusiness.Alterar(oRelDocAd); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } break; case "1": if (oArquivos.UniqueKey == RelArq && contador1 > 1 && contador3 == 0) { //oRelDoc.Posicao = Cstatus; //REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } else if (oArquivos.UniqueKey == RelArq && contador1 > 1 && contador3 >= 1) { throw new Exception("Você precisa corrigir ou deletar o arquivo reprovado!"); } else if (oArquivos.UniqueKey == RelArq && contador1 == 0 && contador3 >= 1) { throw new Exception("Você precisa corrigir ou deletar o arquivo reprovado!"); } else { oRelDocAd.Posicao = Cstatus; Rel_DocAdmissaoBusiness.Alterar(oRelDocAd); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } break; case "2": if (oArquivos.UniqueKey == RelArq && status == "2" && contador1 < contador - 1 && contador1 >= 2) { //oRelDoc.Posicao = Cstatus; //REL_DocumentosAlocadosBusiness.Alterar(oRelDoc); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } else if (oArquivos.UniqueKey == RelArq && status == "2" && contador1 == 1) { oRelDocAd.Posicao = Cstatus; Rel_DocAdmissaoBusiness.Alterar(oRelDocAd); oArqemp.status = status; REL_ArquivoEmpregadoBusiness.Alterar(oArqemp); oArquivos.status = status; ArquivoBusiness.Alterar(oArquivos); } break; } } Workflow wor = new Workflow(); wor.UKAlocacao = Aloc; wor.UKREL_DocAloc = Rel; wor.Comentarios = Coment; wor.Status = Convert.ToInt32(status); wor.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; WorkflowBusiness.Inserir(wor); Extensions.GravaCookie("MensagemSucesso", "Solicitação enviada com sucesso", 10); return(Json(new { resultado = new RetornoJSON() { URL = Url.Action("Index", "Ged", new { id = ukEmp.ToString() }) } })); } catch (Exception ex) { if (ex.GetBaseException() == null) { return(Json(new { resultado = new RetornoJSON() { Erro = ex.Message } })); } else { return(Json(new { resultado = new RetornoJSON() { Erro = ex.GetBaseException().Message } })); } } } else { return(Json(new { resultado = TratarRetornoValidacaoToJSON() })); } }
public ActionResult ExcluirDocEmpregadoWorkflow(string ukArquivo, string UKEmpregado, string UKLocacao, string UKObjeto) { try { //Apenas exclusão lógica if (string.IsNullOrEmpty(ukArquivo)) { throw new Exception("A identificação do arquivo não foi localizada. Por favor, acione o administrador."); } Guid uk = Guid.Parse(ukArquivo); Guid ukLoc = Guid.Parse(UKLocacao); Guid ukObj = Guid.Parse(UKObjeto); Arquivo arquivoPersistido = ArquivoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(uk)); if (arquivoPersistido == null) { throw new Exception("As informações para exclusão do arquivo não são válidas."); } REL_ArquivoEmpregado oArquivoEmp = Rel_ArquivoEmpregadoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKObjetoArquivo.Equals(uk)); if (oArquivoEmp == null) { throw new Exception("As informações para exclusão do arquivo não são válidas."); } REL_DocumentosAlocados oDocalocado = REL_DocumentosAlocadosoBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UKAlocacao.Equals(ukLoc) && a.UKDocumento.Equals(ukObj)); if (oArquivoEmp == null) { throw new Exception("As informações para exclusão do arquivo não são válidas."); } arquivoPersistido.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; //arquivoPersistido.DataInclusao = DateTime.Now; arquivoPersistido.status = Convert.ToString(4); ArquivoBusiness.Alterar(arquivoPersistido); oArquivoEmp.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; //oArquivoEmp.DataExclusao = DateTime.Now; oArquivoEmp.status = Convert.ToString(4); Rel_ArquivoEmpregadoBusiness.Alterar(oArquivoEmp); oDocalocado.UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login; //oArquivoEmp.DataExclusao = DateTime.Now; oDocalocado.Posicao = 1; REL_DocumentosAlocadosoBusiness.Alterar(oDocalocado); return(Json(new { resultado = new RetornoJSON() { URL = Url.Action("Index", "Ged", new { id = UKEmpregado.ToString() }) } })); } catch (Exception ex) { return(Json(new { erro = ex.Message })); } }
public ActionResult SaveUpload(string ukEmpregado, string ukAlocado, string ukFuncao, string ukdocumento) { try { string nomeArquivo = string.Empty; string arquivoEnviados = string.Empty; Guid UKEmpregado = Guid.Parse(ukEmpregado); Guid UKDocumento = Guid.Parse(ukdocumento); Guid ukAloc = Guid.Parse(ukAlocado); HttpPostedFileBase arquivoPostado = null; foreach (string arquivo in Request.Files) { arquivoPostado = Request.Files[arquivo]; if (arquivoPostado != null && arquivoPostado.ContentLength > 0) { var target = new MemoryStream(); arquivoPostado.InputStream.CopyTo(target); nomeArquivo = Request.Files[arquivo].FileName; if (ArquivosBusiness.Consulta.Where(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.UniqueKey.Equals(UKEmpregado) && a.NomeLocal.ToUpper().Equals(arquivoPostado.FileName.ToUpper())).Count() > 0) { throw new Exception("Já existe um arquivo com este nome."); } else { var _arquivo = new Arquivo() { UKObjeto = UKDocumento, Conteudo = target.ToArray(), UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login, DataInclusao = DateTime.Now, DataExclusao = new DateTime(9999, 12, 31, 23, 59, 59, 997), Extensao = Path.GetExtension(nomeArquivo), NomeLocal = nomeArquivo, NumRegistro = ukAlocado }; this.ArquivosBusiness.Inserir(_arquivo); var _RELarquivoEmpregado = new REL_ArquivoEmpregado() { UKEmpregado = UKEmpregado, UKObjetoArquivo = _arquivo.UniqueKey, UKLocacao = Guid.Parse(ukAlocado), //se função vier vazio é pq o documento é para admissao então UKFuncao vai receber a UKObjeto de tbArquivo UKFuncao = ukFuncao != null?Guid.Parse(ukFuncao) : _arquivo.UKObjeto, UsuarioInclusao = CustomAuthorizationProvider.UsuarioAutenticado.Login, }; this.REL_ArquivoEmpregadoBusiness.Inserir(_RELarquivoEmpregado); } } } ; if (Request.Files.Count == 1) { Extensions.GravaCookie("MensagemSucesso", "O arquivo '" + arquivoPostado.FileName + "' foi anexado com êxito.", 1); } else { Extensions.GravaCookie("MensagemSucesso", "Os arquivos foram anexados com êxito.", 1); } Response.StatusCode = 200; return(Json(new { resultado = new RetornoJSON() { URL = Url.Action("Index", "Ged", new { id = UKEmpregado.ToString() }) } })); //return RedirectToAction(nameof(Upload), new { id = UKEmpregado.ToString() }); //if (Request.Files.Count == 1) // return Json(new { sucesso = "O arquivo '" + arquivoPostado.FileName + "' foi anexado com êxito." }); //else // return Json(new { sucesso = "Os arquivos foram anexados com êxito." }); } catch (Exception ex) { Response.StatusCode = 500; if (ex.GetBaseException() == null) { Extensions.GravaCookie("MensagemErro", ex.Message, 1); return(Json(new { resultado = new RetornoJSON() { Erro = ex.Message } })); } else { Extensions.GravaCookie("MensagemErro", ex.GetBaseException().Message, 1); return(Json(new { resultado = new RetornoJSON() { Erro = ex.GetBaseException().Message } })); } } }