public Boolean Novedades_Cartula_Cambia_Estado(enum_Cartula_Cambia_Estado CambiaEstado, long id_Novedad, string expediente, string observaciones, string nroResolucion, int?idTipoRechazo, out string Error) { try { Error = string.Empty; WSCambiarEstadoExpediente.TipoError ERR = new WSCambiarEstadoExpediente.TipoError(); WSCambiarEstadoExpediente.CambiarEstadoExpedienteWS srv = new WSCambiarEstadoExpediente.CambiarEstadoExpedienteWS(); srv.Url = System.Configuration.ConfigurationManager.AppSettings[srv.GetType().ToString()]; srv.Credentials = System.Net.CredentialCache.DefaultCredentials; #region Creo Obj Expediente WSCambiarEstadoExpediente.ExpedienteIdDTO exp = new WSCambiarEstadoExpediente.ExpedienteIdDTO(); exp.cuil = new WSCambiarEstadoExpediente.CuilDTO(); exp.cuil.digCuil = expediente.Substring(13, 1).ToString(); exp.cuil.docCuil = expediente.Substring(5, 8).ToString(); exp.cuil.preCuil = expediente.Substring(3, 2).ToString(); exp.organismo = expediente.Substring(0, 3); exp.secuencia = expediente.Substring(17).ToString(); exp.tipoTramite = expediente.Substring(14, 3).ToString(); #endregion #region Creo obj TipoSesion IUsuarioToken Token = new UsuarioToken(); Token.ObtenerUsuarioEnWs(); WSCambiarEstadoExpediente.TipoSesion ts = new WSCambiarEstadoExpediente.TipoSesion(); ts.UsuarioRed = Token.IdUsuario; ts.Ip = ((InfoElement)(Token.Atributos[4])).Value; ts.Oficina = Token.Oficina; ts.Legajo = Token.IdUsuario.Substring(1); ts.CodAplicacion = "0004"; ts.CasoDeUso = "EstExpDAT"; ts.CuilOrganismo = ((string[])(Token.EntidadesAsociadas))[0]; ts.Aplicacion = Token.Sistema; #endregion using (TransactionScope oTransactionScope = new TransactionScope(TransactionScopeOption.Required)) { switch (CambiaEstado) { case enum_Cartula_Cambia_Estado.APROBAR: #region Error = NovedadDAO.Novedades_AprobarCredito(id_Novedad, (int)enum_tipoestadoNovedad.Normal, Token.IdUsuario); if (!string.IsNullOrEmpty(Error)) { return(false); } CaratulacionDAO.NovedadesCaratuladas_ModificarEstado(id_Novedad, (int)CambiaEstado, Token.IdUsuario, Token.Oficina, Token.DirIP, observaciones, nroResolucion, idTipoRechazo); try { // codigo Sistema=41 -->ultimo parametro ERR = srv.CambiarEstadoExpediente(exp, ((int)CambiaEstado).ToString(), null, ts, 41); if (ERR != null && !string.IsNullOrEmpty(ERR.descripcion)) { throw new Exception(ERR.descripcion); } } catch (Exception ex) { if (!ValidarANMEEstadoExp(exp, CambiaEstado)) { Error = ERR.descripcion; //throw new Exception("Error en servicio CambiarEstadoExpediente - URL: " + srv.Url + " - ERROR: " + ex.Message + " - SRC: " + ex.Source); } } Error = ERR.descripcion; break; #endregion case enum_Cartula_Cambia_Estado.RECHAZAR: #region NovedadDAO.Novedades_B_Con_Desaf_Monto(id_Novedad, (int)enum_tipoestadoNovedad.BajaporrechazodelanovedadGciaControl, "Baja Control", Token.DirIP, Token.IdUsuario, false); CaratulacionDAO.NovedadesCaratuladas_ModificarEstado(id_Novedad, (int)CambiaEstado, Token.IdUsuario, Token.Oficina, Token.DirIP, observaciones, nroResolucion, idTipoRechazo); try { // codigo Sistema=41 -->ultimo parametro ERR = srv.CambiarEstadoExpediente(exp, ((int)CambiaEstado).ToString(), null, ts, 41); if (ERR != null && !string.IsNullOrEmpty(ERR.descripcion)) { throw new Exception(ERR.descripcion); } } catch (Exception ex) { if (!ValidarANMEEstadoExp(exp, CambiaEstado)) { Error = ERR.descripcion; //throw new Exception("Error en servicio CambiarEstadoExpediente - URL: " + srv.Url + " - ERROR: " + ex.Message + " - SRC: " + ex.Source); } } Error = ERR.descripcion; break; #endregion case enum_Cartula_Cambia_Estado.BAJA: #region CaratulacionDAO.NovedadesCaratuladas_ModificarEstado(id_Novedad, (int)CambiaEstado, Token.IdUsuario, Token.Oficina, Token.DirIP, observaciones, nroResolucion, idTipoRechazo); try { // codigo Sistema=41 -->ultimo parametro ERR = srv.CambiarEstadoExpediente(exp, ((int)CambiaEstado).ToString(), null, ts, 41); if (ERR != null && !string.IsNullOrEmpty(ERR.descripcion)) { throw new Exception(ERR.descripcion); } } catch (Exception ex) { if (!ValidarANMEEstadoExp(exp, CambiaEstado)) { Error = ERR.descripcion; //throw new Exception("Error en servicio CambiarEstadoExpediente - URL: " + srv.Url + " - ERROR: " + ex.Message + " - SRC: " + ex.Source); } } Error = ERR.descripcion; break; #endregion } if (string.IsNullOrEmpty(Error)) { oTransactionScope.Complete(); return(true); } else { return(false); } } } catch (Exception err) { throw err; } }
private bool ValidarANMEEstadoExp(WSCambiarEstadoExpediente.ExpedienteIdDTO exp, enum_Cartula_Cambia_Estado cambiaEstado) { Boolean retorno = false; try { ANMEConsGral.BuscarExpedientePorPkWS srv = new ANMEConsGral.BuscarExpedientePorPkWS(); srv.Url = System.Configuration.ConfigurationManager.AppSettings[srv.GetType().ToString()]; srv.Credentials = System.Net.CredentialCache.DefaultCredentials; ANMEConsGral.TipoError error = new ANMEConsGral.TipoError(); ANMEConsGral.TipoExpedientePorPk tipoExpedientePorPk = srv.BuscarExpedientePorPk(exp.organismo, exp.cuil.preCuil, exp.cuil.docCuil, exp.cuil.digCuil, int.Parse(exp.tipoTramite), int.Parse(exp.secuencia), new ANMEConsGral.TipoAuditoria(), out error); if (error != null && error.codigo == 0 && tipoExpedientePorPk != null && tipoExpedientePorPk.estado.Equals((int)cambiaEstado)) { retorno = true; } } catch { return(retorno); } return(retorno); }