public List <DetalleNave> ListarDetallesdeEnvio(string ordenServicio) { iDB2Connection cn = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString); iDB2Command cmd; string tipoOperacion = obtenerTipoOperacion(ordenServicio); if (tipoOperacion.Equals("I")) { cmd = new iDB2Command("SP_INTEGRACION_CARCOOL_IMPO", cn); } else { cmd = new iDB2Command("SP_INTEGRACION_CARCOOL_EXPO", cn); } cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("XNORSRN", iDB2DbType.iDB2VarChar).Value = ordenServicio; List <DetalleNave> detalleNave = new List <DetalleNave>(); try { cn.Open(); iDB2DataReader dr = cmd.ExecuteReader(); while (dr.Read()) { //refrescar datos DetalleNave e = new DetalleNave(); e.Recalada = dr.GetString(dr.GetOrdinal("OrdenServicio")); e.Manifiesto = dr.GetString(dr.GetOrdinal("Manifiesto")); e.Nave = dr.GetString(dr.GetOrdinal("Nave")).Trim(); e.Viaje = dr.GetString(dr.GetOrdinal("Viaje")).Trim(); e.Operador = dr.GetString(dr.GetOrdinal("Operador")); e.FechaArribo = dr.GetDateTime(dr.GetOrdinal("FechaArribo")); //e.FechaTerminoDescarga = dr.IsDBNull(dr.GetOrdinal("FechaterminoDescarga")) ? default(DateTime) : dr.GetDateTime(dr.GetOrdinal("FechaterminoDescarga")); e.FechaTerminoDescarga = dr.GetString(dr.GetOrdinal("FechaterminoDescarga")) == "" ? DateTime.Now : dr.GetDateTime(dr.GetOrdinal("FechaterminoDescarga")); //e.FechaCutOffdry = dr.IsDBNull(dr.GetOrdinal("FechaCutOffdry")) ? default(DateTime) : dr.GetDateTime(dr.GetOrdinal("FechaCutOffdry")); e.FechaCutOffdry = dr.GetString(dr.GetOrdinal("FechaCutOffdry")) == "" ? DateTime.Now : dr.GetDateTime(dr.GetOrdinal("FechaCutOffdry")); //e.FechaCutOffReefer = dr.IsDBNull(dr.GetOrdinal("FechaCutOffReefer")) ? default(DateTime) : dr.GetDateTime(dr.GetOrdinal("FechaCutOffReefer")); e.FechaCutOffReefer = dr.GetString(dr.GetOrdinal("FechaCutOffReefer")) == "" ? DateTime.Now : dr.GetDateTime(dr.GetOrdinal("FechaCutOffReefer")); e.FechaZarpe = dr.IsDBNull(dr.GetOrdinal("FechaZarpe")) ? DateTime.Now : dr.GetDateTime(dr.GetOrdinal("FechaZarpe")); e.TipoOperacion = dr.GetString(dr.GetOrdinal("TipoOperacion")); e.Contenedor = dr.GetString(dr.GetOrdinal("Contenedor")).Trim(); e.Tipo = dr.GetString(dr.GetOrdinal("TipodeDocumento")); e.BlBooking = dr.GetString(dr.GetOrdinal("BlBooking")).Trim(); e.Consignatario = dr.GetString(dr.GetOrdinal("Consignatario")).Trim(); e.TipoContenedor = dr.GetString(dr.GetOrdinal("TipoContenedor")); e.Dimension = dr.GetString(dr.GetOrdinal("Dimension")); e.Condicion = dr.GetString(dr.GetOrdinal("Condicion")); e.Peso = dr.GetDecimal(dr.GetOrdinal("Peso")); e.Temperatura = dr.GetString(dr.GetOrdinal("Temperatura")); e.Imo = dr.GetBoolean(dr.GetOrdinal("IMO")); e.Iqbf = dr.GetBoolean(dr.GetOrdinal("IQBF")); e.SINI = dr.GetBoolean(dr.GetOrdinal("SINI")); e.Conexion = dr.GetBoolean(dr.GetOrdinal("Conexion")); detalleNave.Add(e); } } catch (Exception ex) { List <string> listaDestinatarios = new List <string>(); List <string> listaCopia = new List <string>(); List <string> listaCopiaOculta = new List <string>(); string destinatarios = ConfigurationManager.AppSettings["Destinatarios"].ToString(); if (destinatarios != "" && destinatarios.Contains(";")) { var correosDestino = destinatarios.Split(';'); foreach (string item in correosDestino) { listaDestinatarios.Add(item); } } else { listaDestinatarios.Add(destinatarios); } string copia = ConfigurationManager.AppSettings["ConCopia"].ToString(); if (copia != "" && copia.Contains(";")) { var correosCopia = copia.Split(';'); foreach (string item in correosCopia) { listaCopia.Add(item); } } else { listaCopia.Add(copia); } string copiaOculta = ConfigurationManager.AppSettings["CopiaOculta"].ToString(); if (copiaOculta != "" && copiaOculta.Contains(";")) { var correosCopiaOculta = copiaOculta.Split(';'); foreach (string item in correosCopiaOculta) { listaCopiaOculta.Add(item); } } else { listaCopiaOculta.Add(copiaOculta); } new ManejadorCorreos().EnviarCorreo(ConfigurationManager.AppSettings["AsuntoCorreoError"].ToString(), ex.Message.ToString(), listaDestinatarios, listaCopia, listaCopiaOculta); detalleNave = null; } finally { cn.Close(); } return(detalleNave); }