示例#1
0
        public GameWithLinks GetById(int Id)
        {
            GameWithLinks model = null;

            _dataProvider.ExecuteCmd(
                "dbo.Games_SelectById_InnerJoinLinks",
                inputParamMapper : delegate(SqlParameterCollection paramCol)
            {
                paramCol.AddWithValue("@GameId", Id);
            },
                singleRecordMapper : delegate(IDataReader reader, short set)
            {
                model     = new GameWithLinks();
                int index = 0;

                model.Id    = reader.GetSafeInt32(index++);
                model.Title = reader.GetSafeString(index++);
                model.Plain = reader.GetSafeString(index++);
                index++;                                          //Column Sale Price is repeat of Current Low. Refactor when i reorganize tables
                model.SalePrice   = reader.GetSafeFloat(index++); //column currentLow
                model.LastUpdated = reader.GetSafeDateTime(index++);
                model.RetailPrice = reader.GetSafeFloat(index++);
                model.ReleaseDate = reader.GetSafeDateTime(index++);

                model.Links       = new GameLinks();
                model.Links.AppId = reader.GetSafeString(index++);
                model.Links.Shop  = reader.GetSafeString(index++);
                model.Links.Url   = reader.GetSafeString(index++);
            }
                );
            return(model);
        }
示例#2
0
 public ActionResult <ItemResponse <GameWithLinks> > GetById(int id)
 {
     try
     {
         GameWithLinks item = _gamesServices.GetById(id);
         if (item == null)
         {
             return(NotFound404(new ErrorResponse("Record Not Found")));
         }
         else
         {
             ItemResponse <GameWithLinks> response = new ItemResponse <GameWithLinks>();
             response.Item = item;
             return(Ok200(response));
         }
     }
     catch (Exception ex)
     {
         Logger.LogError(ex.ToString());
         return(StatusCode(500, new ErrorResponse(ex.Message)));
     }
 }