/// <summary> /// Recebe o valor do auto incremento e coloca na propriedade /// </summary> /// <param name="qs">Objeto da Store Procedure</param> protected override bool ReceberAutoIncremento(QuerySelectStoredProcedure qs, DCL_ProtocoloReprocesso entity) { entity.prp_seq = Convert.ToInt32(qs.Return.Rows[0][0]); return(entity.prp_seq > 0); }
/// <summary> /// Colocar um protocolo executado com erro para reprocessar /// </summary> /// <param name="pro_id">Id do Protocolo</param> /// <param name="novoPacote">Novo pacote a ser processado</param> /// <param name="versao">Versão do aplicativo que enviou o protocolo</param> /// <returns></returns> public static bool Reprocessar(Guid pro_id, string novoPacote, string versao) { DCL_ProtocoloReprocessoDAO dao = new DCL_ProtocoloReprocessoDAO(); TalkDBTransaction banco = dao._Banco; try { DCL_Protocolo protocolo = new DCL_Protocolo() { pro_id = pro_id }; DCL_ProtocoloReprocesso entity = null; DCL_ProtocoloBO.GetEntity(protocolo); if (protocolo.IsNew) { throw new ProtocoloNãoEncontrado(); } //Verifica se está com status de "Processado com Erro" if (protocolo.pro_status == (byte)DCL_ProtocoloBO.eStatus.ProcessadoComErro) { entity = new DCL_ProtocoloReprocesso() { pro_id = protocolo.pro_id, prp_pacote = protocolo.pro_pacote, prp_status = protocolo.pro_status, prp_statusObervacao = protocolo.pro_statusObservacao, prp_situacao = protocolo.pro_situacao, prp_dataCriacao = DateTime.Now, prp_dataAlteracao = DateTime.Now }; if (!string.IsNullOrEmpty(versao)) { protocolo.pro_versaoAplicativo = versao; } protocolo.pro_status = 1; protocolo.pro_statusObservacao = string.Empty; if (!string.IsNullOrEmpty(novoPacote)) { protocolo.pro_pacote = novoPacote; } banco.Open(); DCL_ProtocoloReprocessoBO.Save(entity, banco); DCL_ProtocoloBO.Save(protocolo, banco); return(true); } else { throw new ReprocessarProtocoloSemErro(); } } catch (Exception err) { banco.Close(err); throw; } finally { banco.Close(); } }