public override T Retrieve <T>(BaseEntity entity) { var lstResult = dao.ExecuteQueryProcedure(mapper.GetRetrieveStatement(entity)); var dic = new Dictionary <string, object>(); if (lstResult.Count > 0) { dic = lstResult[0]; var objs = mapper.BuildObject(dic); return((T)Convert.ChangeType(objs, typeof(T))); } return(default(T)); }
public override T Retrieve <T>(BaseEntity entity) { var LstResult = Dao.ExecuteQueryProcedure(Mapper.GetRetriveStatement(entity)); var Dic = new Dictionary <string, object>(); if (LstResult.Count > 0) { Dic = LstResult[0]; var Objs = (User)Mapper.BuildObject(Dic); return((T)Convert.ChangeType(Objs, typeof(T))); } return(default(T)); }
public override T Retrieve <T>(BaseEntity pEntity) { var nObj = (User)pEntity; var sqlOperation = Mapper.GetRetriveStatement(nObj); var results = dao.ExecuteQueryProcedure(sqlOperation); var dic = new Dictionary <string, object>(); if (results.Count > 0) { dic = results[0]; var objs = Mapper.BuildObject(dic); return((T)Convert.ChangeType(objs, typeof(T))); } return(default(T)); }
public override T Retrieve <T>(BaseEntity entity) { var instance = SqlDao.GetInstance(); //verifica si hay algun registro coincidente en la BD var operation = _mapper.GetRetriveStatement(entity); //le indica al método qué tipo de operación se va a ejecutar //o sea qué tipo de SP es el que se requiere para la operacion var lstResult = instance.ExecuteQueryProcedure(operation); //invoca el procedimiento para la busqueda del registro y almacena el objeto //retornado en la variable lstResult if (lstResult.Count <= 0) { return(default(T)); } //si lstResutl es nulo significa que es menos que 0 por lo tanto no hay registros coincidentes //en la BD y retornar null var list = lstResult[0];//de lo contrario retorna lo que encuentra en la lista y que lo trae //en la posicion 0 que es donde trae guardado el dato conicidente del registro que encontró //en la BD var userEncontrado = _mapper.BuildObject(list);//contruye el objeto pasandole los datos //a cada atributo try { if (lstResult.Count <= 0) { return(default(T)); } list = lstResult[0]; userEncontrado = _mapper.BuildObject(list); } catch (Exception ex) { _exMan.ManageException(ex); } return((T)Convert.ChangeType(userEncontrado, typeof(T))); //devuelte el tipo de dato generico T parametrizado, casteando el objeto //userEncontrado para que se devuelva a la UI el tipo de dato de la entidad //adecuada }