Ejemplo n.º 1
0
        public Empleado Buscar(long id)
        {
            Empleado resultado;
            if (identityMap.ContainsKey(id))
            {
                resultado = identityMap[id];
                if (resultado != null) { }
                {
                    return resultado;
                }
            }

            try
            {
                SqlCommand consulta = new SqlCommand(EmpleadoMapper.cadenaBuscar, BD());
                consulta.Parameters.AddWithValue("@id", id);
                consulta.Connection.Open();
                SqlDataReader fila = consulta.ExecuteReader();
                if (fila.HasRows)
                {
                    fila.Read();
                    string nombre = (string)fila["Nombre"];
                    DateTime inicial = (DateTime)fila["Fecha_Inicial"];
                    DateTime final = (DateTime)fila["Fecha_Final"];
                    double salario = (double)fila["Salario"];
                    string moneda = (string)fila["Moneda"];
                    resultado = new Empleado(id, nombre,
                        new RangoFecha(inicial, final),
                        new Dinero(salario, moneda));
                    identityMap.Add(id, resultado);
                    return resultado;
                }
                return null;
            }
            catch (SqlException e)
            {
                throw new ApplicationException(String.Format("No se ha podido encontrar a la persona {0}\n{1}", id, e));
            }
        }
Ejemplo n.º 2
0
 public void Actualizar(Empleado empleado)
 {
     try
     {
         SqlCommand consulta = new SqlCommand(EmpleadoMapper.cadenaActualizar, BD());
         consulta.Parameters.AddWithValue("@id", empleado.Id);
         consulta.Parameters.AddWithValue("@nombre", empleado.Nombre);
         consulta.Parameters.AddWithValue("@inicial", empleado.Periodo.Inicial);
         consulta.Parameters.AddWithValue("@final", empleado.Periodo.Final);
         consulta.Parameters.AddWithValue("@salario", empleado.Salario.Importe);
         consulta.Parameters.AddWithValue("@moneda", empleado.Salario.Moneda);
         consulta.Connection.Open();
         consulta.ExecuteNonQuery();
         if (identityMap.ContainsKey(empleado.Id))
         {
             identityMap.Remove(empleado.Id);
         }
         identityMap.Add(empleado.Id, empleado);
     }
     catch (SqlException e)
     {
         throw new ApplicationException(String.Format("Imposible actualizar emplado.\n{0}", e));
     }
 }
Ejemplo n.º 3
0
 public void Eliminar(Empleado empleado)
 {
     try
     {
         SqlCommand consulta = new SqlCommand(EmpleadoMapper.cadenaEliminar, BD());
         consulta.Parameters.AddWithValue("@id", empleado.Id);
         consulta.Connection.Open();
         consulta.ExecuteNonQuery();
         identityMap.Remove(empleado.Id);
     }
     catch (SqlException e)
     {
         throw new ApplicationException(String.Format("Imposible eliminar emplado.\n{0}", e));
     }
 }