/// <summary> /// Permite obtener la instancia de <see cref="Usuario"/> cuyo codigo es igual a <paramref name="pCodigo"/> /// </summary> /// <param name="pCodigo">Codigo del usuario que se desea obtener</param> /// <returns>el usuario en caso de encontrarlo</returns> /// <exception cref="ArgumentNullException">Si el codigo es null</exception> /// <exception cref="ArgumentException">si el codigo es el string vacio</exception> /// <exception cref="UsuarioNoEncontradoException">si el usuario no existe en el repositorio</exception> Usuario IRepositorioUsuarios.ObtenerPorCodigo(string pCodigo) { Usuario pUsuario = new Usuario() { NombreCompleto = "", Codigo = pCodigo, CorreoElectronico = "" }; if (pCodigo == null) { throw (new ArgumentNullException("pCodigo", "No se pudo obtener el usuario, el codigo es invalido")); } else if (pCodigo == String.Empty) { throw (new ArgumentException("Codigo", "No se pudo oteber el usuario, el codigo no puede ser vacio")); } else if (!this.Usuarios.Contains(pUsuario)) { UsuarioNoEncontradoException lException = new UsuarioNoEncontradoException(String.Format("No se encontro el usuario con codigo '{0}'", pCodigo)); throw lException; } return this.Usuarios[this.Usuarios.IndexOf(pUsuario)]; }
/// <summary> /// Actualiza la informacion de un <see cref="Usuario"/> /// </summary> /// <param name="pUsuario">Usuario a actualizar</param> /// <exception cref="ArgumentNullException">Si el usuario o el codigo es null</exception> /// <exception cref="ArgumentException">si el codigo es el string vacio</exception> /// <exception cref="UsuarioNoEncontradoException">si el usuario no existe en el repositorio</exception> void IRepositorioUsuarios.Actualizar(Usuario pUsuario) { if (pUsuario == null) { throw (new ArgumentNullException("pUsuario", "No se pudo actualizar el usuario, el mismo es invalido")); } else if (pUsuario.Codigo == null) { throw (new ArgumentNullException("pUsuario.Codigo", "No se pudo actualizar el usuario, el codigo es invalido")); } else if (pUsuario.Codigo == String.Empty) { throw (new ArgumentException("pUsuario.Codigo", "No se pudo actualizar el usuario, el codigo del mismo no puede ser vacio")); } else if (!this.Usuarios.Contains(pUsuario)) { UsuarioNoEncontradoException lException = new UsuarioNoEncontradoException(String.Format("No se encontro el usuario con codigo '{0}'", pUsuario.Codigo)); throw lException; } this.Usuarios[this.Usuarios.IndexOf(pUsuario)] = pUsuario.Copiar(); }
/// <summary> /// Elimina un <see cref="Usuario"/> del Repositorio /// </summary> /// <param name="pCodigo">Codigo del usuario a Eliminar</param> /// <exception cref="ArgumentNullException">Si el codigo es null</exception> /// <exception cref="ArgumentException">si el codigo es el string vacio</exception> /// <exception cref="UsuarioNoEncontradoException">si el usuario no existe en el repositorio</exception> void IRepositorioUsuarios.Eliminar(string pCodigo) { Usuario pUsuario = new Usuario() { NombreCompleto = "", Codigo = pCodigo, CorreoElectronico = "" }; if (pCodigo == null) { throw (new ArgumentNullException("pCodigo", "No se pudo eliminar el usuario, el codigo es invalido")); } else if (pCodigo == String.Empty) { throw (new ArgumentException("Codigo", "No se pudo eliminar el usuario, el codigo del mismo no puede ser vacio")); } else if (!this.Usuarios.Contains(pUsuario)) { UsuarioNoEncontradoException lException = new UsuarioNoEncontradoException(String.Format("No se encontro el usuario con codigo '{0}'", pCodigo)); throw lException; } this.Usuarios.RemoveAt(this.Usuarios.IndexOf(pUsuario)); }