Exemplo n.º 1
0
        public bool UpdateGame(NewBoardGameViewModel newData, int gameId, out string error)
        {
            string sqlString;

            sqlString = "SELECT Bg_PictureId FROM Tbl_BoardGames WHERE Bg_Id = @id";
            _sqlHandler.SetCommand(sqlString);
            _sqlHandler.AddIntParamter("id", gameId);
            int?pictureId = (int?)_sqlHandler.ExecuteScalar(out error);

            if (newData.File != null && newData.File.ContentLength > 0)
            {
                var file = ConvertToByte(newData.File);
                if (pictureId.HasValue && pictureId.Value != 0)
                {
                    sqlString = "UPDATE Tbl_BoardGamePictures SET Bgp_Data = @data, Bgp_DataSize=@size WHERE Bgp_Id = @pictureId";
                    _sqlHandler.SetCommand(sqlString);
                    _sqlHandler.AddIntParamter("size", file.Length);
                    _sqlHandler.AddIntParamter("pictureId", pictureId.Value);
                    _sqlHandler.AddWithValue("data", file);

                    _sqlHandler.Execute(out error);
                    if (!string.IsNullOrWhiteSpace(error))
                    {
                        return(false);
                    }
                }
                else
                {
                    pictureId = InsertPicture(newData.File, out error);
                }
            }


            sqlString = "UPDATE Tbl_BoardGames SET Bg_Name = @name, Bg_Published = @published, Bg_PictureId = @pictureId WHERE Bg_Id = @id";
            _sqlHandler.SetCommand(sqlString);
            _sqlHandler.AddWithString("name", newData.Name);
            _sqlHandler.AddWithValue("published", newData.Published);
            _sqlHandler.AddIntParamter("id", gameId);
            _sqlHandler.AddWithValue("pictureId", pictureId);
            _sqlHandler.Execute(out error);

            return(string.IsNullOrWhiteSpace(error));
        }